Python Web自动化测试实战 点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快手工测试的占重比例达到了70%相对开发来说测试的门槛低薪资也相对比开发的低不少所以做自动化测试。一方面是为了提升自己技术层面的深度。另一方面是为了解决目前国内缺乏更高效的测试技术难题最后就是为了提高自己在市场中的竞争力想拿到高薪不与时俱进是不可能的。接下来我们就来讲解自动化测试实战场景文件上传与弹窗处理。一、文件上传input 标签使用自动化上传先定位到上传按钮然后 send_keys 把路径作为值给传进去.如图所示是企业微信文件上传的页面 定位到标签为 inputtype 为 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(); }最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。