0


Python WEB 自动化测试实战,项目场景(详细)

目录:导读

前言

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

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

接下来我们就来讲解自动化测试实战场景文件上传与弹窗处理。
我自己看的这个视频就感觉挺不错的

python+selenium4自动化测试https://www.bilibili.com/video/BV1MS4y1W79K/

一、文件上传

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 版本:

@TestpublicvoidalertTest(){// Alert弹窗获取文本与确认操作
    driver.get("http:/xxxxx");
    driver.findElement(By.name("b1")).click();// 添加显示等待,等待弹框的出现WebDriverWait wait =newWebDriverWait(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 版本:

@Testpublicvoidalert1Test(){// Prompt 弹窗获取文本、输入内容、确认操作
    driver.get("http://xxxxx");
    driver.findElement(By.name("b1")).click();// 添加显示等待,等待弹框的出现WebDriverWait wait =newWebDriverWait(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 版本:

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

三、总结

要弯得下腰,去捡拾那些别人不屑的麦穗,不盲目攀高,不一味求大,在小的缝隙里寻找机遇;更要抬得起头,看清奔跑的方向,找准超越的捷径,让自己疾行在正确的路上。

没有比脚更长的路,没有比人更高的山,没有做不到的事,只有想不到的人。阻挡你前进的不是高山大海,而往往是自己鞋底一粒小小的沙粒!

无法改变世界,可以改变观念;无法改变事情,可以改变心情;无法改变別人的看法,可以改变自已的想法!


本文转载自: https://blog.csdn.net/NanFanzzZ/article/details/127519602
版权归原作者 测试内卷王 所有, 如有侵权,请联系我们删除。

“Python WEB 自动化测试实战,项目场景(详细)”的评论:

还没有评论