环境:py3  selenium  unittest 测试浏览器:IE10 目标:在单个文件中,有多个用例,执行完A用例,由于打开了新的窗口,必须关闭新的窗口,才不会影响下一条用例的执行. 问题:按例子1的代码,运行test001_a后,直接把两个窗口全部关闭,导致test002_b无法运行报错(以下只是例子,不一定会失败,实际运行系统时由于性能,网络等原因肯可能会失败). 例子1: # coding:utf-8 import unittest from selenium import webd…
# 两个同时设置才行 # 实现效果:加载状态停止,进行代码下一步操作 driver.set_page_load_timeout(10) driver.set_script_timeout(10) # 这两种设置都进行才有效 try: driver.get("https://shopee.co.id/search?keyword=jam%20tangan&page=" + str(page) + "&sortBy=" + rankBY) except:…
问题:py+selenium+IE 批量执行单个脚本10几分钟,IE会卡住 一个脚本文件里有20几个用例,跑起来10多分钟,每次跑10分钟后(即第22条用例左右时)IE就会卡住,程序就会在那傻等,最后报错超时……不是用例的问题,我注释掉,换其他用例也是一样,所以不是代码的问题. Google了很久,有不少遇到过,有说是版本问题,需要将IEdriverserver的版本调低,我换了n个版本,均没解决,其他的回答也没有解决问题的. 可能你会说环境的问题,几台vm都是这样,虽然我本地正常. 最后,尝试…
出现场景:用discover方法批量执行py文件,出现随机性的报错(有时a.py报错,有时b.py报错...),共同特点:均是打开新窗口后,切换最新窗口,但定位不到新窗口的元素,超时报错.由于个人项目遇到的是跑一条用例都有1~3个窗口,所以本文针对1~3个窗口的切换随机报错进行处理. 发现错误原因: 我在切换窗口代码的位置,打印当前句柄信息(print(self.driver.window_handles)),如下图 由于经常习惯性认为,新窗口在句柄列表应该是最后一个,即经常用这句代码来切换到我…
在页面操作过程中有时候点击某个链接会弹出新的窗口, 这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换. 以百度首页和百度注册页为例,在两个窗口之间的切换如下图. 实现窗口切换的代码如下: import java.util.Set; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.se…
大部分系统现在都有登录页面,本文主要尝试写一个登录的测试脚本,及另一个脚本调用它登录测试已登录的页面模块. 目标: 登录脚本:从excel里获取登录的测试数据(包括异常测试)→执行登录脚本→输出是否通过 A模块测试脚本:调用登录脚本,从excel里获取正确登录的测试数据→执行自动登录脚本→执行模块测试用例→输出是否通过 登录脚本auto.py: # coding:utf-8 from selenium import webdriver import time import xlrd from x…
selenium进行UI自动化测试需要Driver支持,不同的浏览器需要不同的Driver,之前使用的Driver可以正常运行,但是总会报一些莫名的问题,经过查找,原来IE的Driver需要与selenium版本号相同(也就是匹配) 而chromeDriver以及firefox的Driver也是不同版本对应不同Driver(但是Driver的版本号与selenium的版本号不需要一致),下面列出对应Driver以及selenium版本,以便大家参考: 1)chromeDriver(下载地址) 对…
chrome driver下载地址:https://npm.taobao.org/mirrors/chromedriver driver与chrome的对应关系: 1.进入最新的driver,查看notes.txt文件,即可获取到对应关系 2.使用curl命令获取对应关系 curl https://npm.taobao.org/mirrors/chromedriver/2.40/notes.txt grep -e "ChromeDriver v" -e "chrome v&q…
//导入Selenium 库和 ChromeDriver 库 pachage com.learningselenium.simplewebdriver; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class testC…
//导入Selenium 库和FirefoxDriver 库 package com.learningselenium.simplewebdriver; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; public class testFirefoxDriver(){ public static main(String[] args){ WebDriver driver = new F…