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

手工测试的占重比例达到了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();

}

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐