Python Web 自动化测试实战

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

手工测试的占重比例达到了70%,相对开发来说,测试的门槛低,薪资也相对比开发的低不少,所以做自动化测试。

  • 一方面是为了提升自己技术层面的深度。
  • 另一方面是为了解决目前国内缺乏更高效的测试技术难题,最后就是为了提高自己在市场中的竞争力,想拿到高薪,不与时俱进是不可能的。

接下来我们就来讲解自动化测试实战场景文件上传与弹窗处理。

一、文件上传

input 标签使用自动化上传,先定位到上传按钮,然后 send_keys 把路径作为值给传进去.

如图所示,是企业微信文件上传的页面 定位到标签为 input,type 为 file 的元素信息,然后使用 send_keys 把文件路径作为值给传进去。

Python 版本:

driver.find_element(By.CSS_SELECTOR, "#js_upload_input").send_keys("./hogwarts.png")

Java 版本:

driver.findElement(By.cssSelector("#js_upload_input")).sendKeys("./hogwarts.png");

二、弹窗处理

在页面操作中有时会遇到 JavaScript 所生成的 alert、confirm 以及 prompt 弹框,可以使用switch_to.alert()方法定位到。

然后使用 text、accept、dismiss、send_keys 等方法进行操作。

  • switch_to.alert():获取当前页面上的警告框。
  • text:返回 alert、confirm、prompt 中的文字信息。
  • accept():接受现有警告框,即点击确定。
  • dismiss():解散现有警告框,即点击取消。
  • send_keys(keysToSend):发送文本至警告框。keysToSend:将文本发送至警告框。

1、alter弹框

输入一段文本点击比如提交按钮,会弹出确认内容的弹框,这种场景可以使用下面的方式处理:

Python 版本:

"""Alert弹窗获取文本与确认操作"""
driver.get("http://xxxxx")
driver.find_element_by_name("b1").click()

# 添加显示等待,等待弹框的出现
WebDriverWait(driver, 5, 0.5).until(EC.alert_is_present())

# 切换到弹框
alert = driver.switch_to.alert

# 打印弹框的文本
print(alert.text)
#点击确定
alert.accept()
# 点击取消或者关闭弹框
# alert.dismiss()

Java 版本:

@Test
public void alertTest(){
    // Alert弹窗获取文本与确认操作
    driver.get("http:/xxxxx");
    driver.findElement(By.name("b1")).click();
    // 添加显示等待,等待弹框的出现
    WebDriverWait wait = new WebDriverWait(driver, 5);
    wait.until(ExpectedConditions.alertIsPresent());
    // 切换到弹框
    Alert alert = driver.switchTo().alert();
    System.out.println(alert.getText());
    //点击确定
    alert.accept();
    //点击取消或者关闭弹框
    // alert.dismiss();
}

2、confirm弹框

Python 版本:

"""Prompt 弹窗获取文本、输入内容、确认操作"""
driver.get("http://xxxxx")
driver.find_element_by_name("b1").click()

#添加显示等待,等待弹框的出现
WebDriverWait(driver, 5).until(EC.alert_is_present())
#切换到弹框
alert = driver.switch_to.alert
#向弹框输入一段文本
alert.send_keys('Selenium Alert弹出窗口输入信息')
#点击确定
alert.accept()

Java 版本:

@Test
public void alert1Test() {
    // Prompt 弹窗获取文本、输入内容、确认操作
    driver.get("http://xxxxx");
    driver.findElement(By.name("b1")).click();
    // 添加显示等待,等待弹框的出现
    WebDriverWait wait = new WebDriverWait(driver, 10);
    wait.until(ExpectedConditions.alertIsPresent());
    // 切换到弹框
    Alert alert = driver.switchTo().alert();
    // 向弹框输入一段文本
    alert.sendKeys("Selenium Alert弹出窗口输入信息");
    // 点击确定
    alert.accept();
}

3、prompt 弹框

Python 版本:

"""Confirm弹窗获取文本、确认、取消操作"""
driver.get("http://xxxxx")
driver.find_element_by_name("b1").click()
# 等待弹出窗口出现
WebDriverWait(driver, 5).until(EC.alert_is_present())
#切换到弹框
alert = driver.switch_to.alert
#点击确定
alert.accept()
#点击取消
alert.dismiss()

Java 版本:

@Test
public void confirmTest() {
    // Confirm弹窗获取文本、确认、取消操作
    driver.get("http://sahitest.com/demo/confirmTest.htm");
    driver.findElement(By.name("b1")).click();
    // 添加显示等待,等待弹框的出现
    WebDriverWait wait = new WebDriverWait(driver, 5);
    wait.until(ExpectedConditions.alertIsPresent());
    // 切换到弹框
    Alert alert = driver.switchTo().alert();
    // 点击确定
    alert.accept();
    // 点击取消
    alert.dismiss();
}

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看就行,希望对你有所帮助。

字节大佬,一周讲完,自动化测试项目实战,这套教程是怎么称霸B站的?【2024最新版】

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python Web自动化测试实战篇是一本介绍如何使用Python语言进行Web自动化测试的实用指南。本书从基础概念入手,详细讲解了Web自动化测试的流程、工具、框架和技术,并结合实际案例进行了深入讲解。读者可以通过本书学习到如何使用Python编写自动化测试脚本、如何使用Selenium、Appium等工具进行Web自动化测试、如何使用Pytest、Unittest等框架进行测试管理和报告生成等技术。本书适合有一定Python编程基础和Web测试基础的读者阅读。 ### 回答2: Python是一种广泛使用的编程语言,也是自动化测试的首选语言之一。在Python中,有很多开源的框架可供选择,比如Selenium、Pytest、Robot Framework等等,这些框架可以使我们更加快速和高效地进行Web自动化测试Python web自动化测试实战,可以从以下几个方面来讲解: 1. 环境准备 在进行Python web自动化测试之前,需要先安装好Python环境,以及Selenium和Webdriver等相关库。同时建议篇全部使用Chrome浏览器,因为现在的selenium只支持Chrome浏览器的自动化测试。 2. 编写脚本 编写PythonWeb自动化脚本需要用到Selenium,它是一个开源的自动化测试框架,提供了丰富的API,并且支持多个浏览器,包括Chrome、Safari、FireFox等等。在使用Selenium之前,我们需要先安装相应的浏览器驱动程序,比如ChromeDriver、 FirefoxDriver等等。 编写Selenium脚本需要掌握一定的Python编程技巧,比如变量、函数、条件判断等等。一般来说,编写Selenium脚本可以从以下几个方面入手: a. 打开浏览器 selenium提供了许多打开浏览器的方法,比如get()方法可以打开一个指定URL的页面,如果需要打开一个新的页面,可以使用新开一个窗口的方法。 b. 定位元素 元素定位是Selenium脚本的核心,通过定位元素可以进行单击、输入等等操作。selenium提供了多种方式进行元素定位,比如id、name、class、xpath等等。 c. 操作元素 在完成元素定位后,就可以进行元素操作了,比如输入文本、单击按钮、勾选复选框等等。这些操作都可以通过Selenium API来实现。 3. 运行脚本 在编写好Python web自动化脚本后,我们就可以使用Python的测试框架,比如Pytest、 unittest等来运行脚本并生成测试报告。 通过测试报告,我们可以快速了解测试结果和测试覆盖率,帮助我们找出测试中的问题和优化测试用例。 总之,Python web自动化测试实战需要具备一定的编程基础,了解一些自动化测试的基本理论和工具使用,才能够顺利完成测试任务并提高测试效率。 ### 回答3: Python Web自动化测试是应用Python语言进行Web应用程序的自动化测试。随着web应用的不断增加,对质量的要求也不断提高,因此,自动化测试已经成为保障产品质量的重要手段之一,Python Web自动化测试也变得越来越重要和受欢迎。 Python Web自动化测试实战篇主要包括以下几个方面: 1. 环境搭建 在使用Python Web自动化测试之前,必须要准备好相应的环境。包括Python环境、selenium、webdriver、Webdriver Chrome Driver等必要的环境。 2. 使用selenium selenium是一种自动化测试工具,用于支持浏览器自动化测试Python Web自动化测试利用selenium可以实现网站的自动化操作。 3. 网页操作 Python Web自动化测试中,网页操作是很重要的一部分。主要包括:浏览器的打开、登陆、注册、元素定位、操作元素、滚动页面、进入iframe等操作。 4. 测试框架 Python Web自动化测试中,使用测试框架可以更好的组织测试用例。在测试框架中,可以通过unittest框架来实现用例的编写、执行、结果输出等。 5. 数据驱动测试 数据驱动测试是Python Web自动化测试的一种重要方法,通过将测试数据与脚本分离,使测试用例的可维护性和执行效率更高,可通过CSV文件、Excel文件、MySQL数据库等方式实现。 总的来说,Python Web自动化测试Web应用程序测试的重要手段之一。通过使用Python和selenium等工具,可以实现对Web应用程序的自动化测试。同时,使用测试框架和数据驱动测试等方法,可以更好地组织测试用例和提高测试效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值