自动化测试selenium(自动化测试selenium框架)
一.简单介绍:
1.1功能:
编写代码,让程序自动运行;回归测试;系统监控
1.2步骤:
分析测试需求,选择方案,指定测试计划,环境搭建,测试用例,编码,分析结果
1.3自动化测试和手工测试的区别:
步骤更加详细,包括了检验输入框或者按钮的状态
1.4测试用例几个模块:
id,模块,测试点,前提条件,步骤,预期结果,实际结果
1.5优势及工作原理:
开源,多游览器,多平台,api齐全
编写代码创建一个driver,生成一个用于监控的server游览器,浏览器发送特定的HTTP请求,然后解析请求并作出相应的响应。
1.6 IDE以及环境的配置:
Selenium-Java.jar,idea,jdk以及JDK环境配置
1. 创建一个spring boot工程,导入selenium-java.jar包,写一个简单的demo
public class demo {
public static void main(String[] args) {
//声明一个driver
WebDriver driver;
//设置驱动的位置
System.setProperty("webdriver.chrome.driver", "D:\\python\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("http://www.baidu.com");
}
}
HTML定位基础知识:有id的话使用id进行定位,没有的话使用class进行定位
二、详细介绍
2.1元素定位:
2.1.1十大定位方法
driver.findElement(By.id()),by.className(),by.linkText()...
browser.find_element_by_id()
browser.find_element_by_name()
browser.find_element_by_xpath()
browser.find_element_by_tag_name()
browser.find_element_by_link_text()
browser.find_element_by_class_name()
browser.find_element_by_css_selector()
browser.find_element_by_partial_link_text()
2.2输入框:
clear/send/getAttribute
2.3单选框:
click/xpath/clear/isSelect,
xpath(可以选择父节点的所有子孙节点,也可以选择一个子孙节点)所有的时使用//双斜杠
2.4多选框:
click/clear/isSelect/isEnabled
public WebDriver webDriver;
public void InitDriver(){
System.setProperty("webdriver.chrome.driver", "D:\\python\\chromedriver.exe");
webDriver = new ChromeDriver();
webDriver.get("https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F&sms=5");
webDriver.manage().window().maximize();
}
public void inputBox(){
//定位分析
webDriver.findElement(By.id("TANGRAM__PSP_3__footerULoginBtn")).click();
webDriver.findElement(By.id("TANGRAM__PSP_3__userName")).sendKeys("15638858865");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//清除
webDriver.findElement(By.id("TANGRAM__PSP_3__userName")).clear();
//获取属性值
String attribute = webDriver.findElement(By.id("TANGRAM__PSP_3__userName")).getAttribute("placeholder");
System.out.println(attribute);
/*webDriver.findElement(By.id("TANGRAM__PSP_3__password")).sendKeys("123456");
webDriver.findElement(By.id("TANGRAM__PSP_3__submit")).click();*/
}
2.5模拟鼠标移动,键盘按键等没有特定的执行对象的操作
yuanlai = browser.find_element_by_css_selector('#draggable')
mubiao = browser.find_element_by_css_selector('#droppable')
a = ActionChains(browser)
a.drag_and_drop(yuanlai,mubiao)
a.perform()
2.6拖动滑动条
# execute_script()将进度条拉到最下面,然后弹出提示框
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
browser.execute_script('alert("已经到最下面了")')
2.7获取节点信息
1. 获取属性 input.getAttribute()
2. 获取文本 input.text
3. 获取ID,位置,标签名和大小
input.id,input.location,input.tag_Name,input.size
2.8切换frame
当我们使用selenium打开页面,默认是在父页面里执行的,但是呢,这种网页我们往往是获取不到子页面的节点,所以要使用switch_to.frame()来跳转页面,然后再进行相对应的操作
然后尝试获取父页面的某个节点,如果获取不到就报错,接下来就换回父页面去获取该节点,就能成功了。
2.9延时等待
1. 隐式等待:
查找某个节点的时候,隐式等待就会等待固定的时间,如果时间到了你还没有来,他就会发脾气然后向上级打小报告说你没有出现
browser = webdriver.Chrome
browser.implicitly_wait(10)
browser.get('https://www.baidu.com')
2. 显式等待
2.10后退前进:
使用浏览器都有后退前进功能,在selenium中,back()表示后退,forward()表示前进。
browser = webdriver.Chrome()
browser .get('https://www.baidu.com')
browser.back()
time.sleep(3)
browser.forward()
browser.close()
2.11获取cookies:
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
browser.get_cookies()
browser.add_cookie({‘name’:’name’,’domain’:’www.baidu.com’,’value’:’germay’})
browser.get_cookies()
browser.delete_all_cookies()
print(browser.get_cookies())
2.12选项卡管理:
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
# window.open()新开启一个选项卡
browser.execute_script('window.open()')
# window_handles 用于获取当前开启的所有选项卡,返回的是选项卡的代号列表
print(browser.window_handles)
# switch_to_window用于切换选项卡
browser.switch_to_window(browser.window_handles[1])
browser.get('https://www.taobao.com')
time.sleep(3)
browser.switch_to_window(browser.window_handles[0])
browser.get('https://python.org')
版权声明:
作者: FreeClashNode
链接: https://www.freeclashnode.com/news/article-2617.htm
来源: www.freeclashnode.com
文章版权归作者所有,未经允许请勿转载。
上一个:不管新老硬盘装到硬盘盒里如果提示格式化都可以这样解决
下一个:一些彩票中奖的小技巧
热门文章
- 11月2日免费节点分享|22.5M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 10月14日免费节点分享|22.5M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费上网梯子每天更新
- 10月11日免费节点分享|18.6M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 10月13日免费节点分享|22.1M/S,V2ray节点/Clash节点/Singbox节点/Shadowrocket节点|免费上网梯子每天更新
- 10月25日免费节点分享|18.1M/S,SSR节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 10月9日免费节点分享|22.3M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费上网梯子每天更新
- 10月12日免费节点分享|22.7M/S,Shadowrocket节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 10月10日免费节点分享|18.3M/S,V2ray节点/Singbox节点/Clash节点/SSR节点|免费上网梯子每天更新
- 10月27日免费节点分享|20M/S,Shadowrocket节点/Singbox节点/V2ray节点/Clash节点|免费上网梯子每天更新
- 10月28日免费节点分享|22.8M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费上网梯子每天更新
最新文章
- 当Vmess突然失效:一场技术与封锁的无声博弈
- 11月7日免费节点分享|22.9M/S,Shadowrocket节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 梅林固件科学上网完全指南:从入门到精通,零成本解锁网络自由
- 11月6日免费节点分享|20.9M/S,Shadowrocket节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 幸运破解器科学上网全解析:解锁数字世界的终极指南
- 11月5日免费节点分享|21.9M/S,Shadowrocket节点/Singbox节点/V2ray节点/Clash节点|免费上网梯子每天更新
- 11月4日免费节点分享|18M/S,Clash节点/Singbox节点/SSR节点/V2ray节点|免费上网梯子每天更新
- 穿越数字迷雾:深度解析V2Ray中转迟滞之谜与极速优化指南
- 跨越数字边界:科学上网的终极指南与深度思考
- 从连接到掌控:深入理解 Quantumult 的工作流程与网络管理哲学
- 11月2日免费节点分享|22.5M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 深度解析《荒野冲突》:征服与策略的终极对决
- 11月1日免费节点分享|20.3M/S,V2ray节点/Shadowrocket节点/Clash节点/Singbox节点|免费上网梯子每天更新
- 斐讯路由器刷机配置v2ray全攻略:打造安全高效的翻墙网络环境
- 10月31日免费节点分享|18.7M/S,Shadowrocket节点/Clash节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 谷歌浏览器科学上网扩展全攻略:从入门到精通
- 10月30日免费节点分享|20.4M/S,V2ray节点/SSR节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 苹果手机V2Ray完全指南:从零开始打造安全上网环境
- 10月29日免费节点分享|21.6M/S,SSR节点/Clash节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 探索数字世界的门户:电脑科学上网贴吧完全指南
- 10月28日免费节点分享|22.8M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费上网梯子每天更新
- 穿越数字边界:科学上网的全面指南与深度思考
- 10月27日免费节点分享|20M/S,Shadowrocket节点/Singbox节点/V2ray节点/Clash节点|免费上网梯子每天更新
- 数字世界的破壁之旅:科学上网全指南与实用工具深度解析
- 10月26日免费节点分享|21.5M/S,V2ray节点/SSR节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 跨越知识边界:浙大学子的全球学术网络探索指南
- 10月25日免费节点分享|18.1M/S,SSR节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 10月24日免费节点分享|20.5M/S,V2ray节点/Clash节点/Singbox节点/Shadowrocket节点|免费上网梯子每天更新
- 刘大猫科学上网全攻略:解锁全球网络的终极指南
- 10月23日免费节点分享|22.2M/S,Shadowrocket节点/Clash节点/Singbox节点/V2ray节点|免费上网梯子每天更新
- 全面解析Quantumult安卓版:功能、安装与配置教程
- 双重防护,畅享无界:AdGuard联手V2RayNG,打造极致安全的上网体验
- 10月22日免费节点分享|18.8M/S,V2ray节点/SSR节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 掌握Clash白名单设置:精准控制代理流量的艺术
- 10月21日免费节点分享|22M/S,Clash节点/Singbox节点/V2ray节点/SSR节点|免费上网梯子每天更新
- 突破网络边界:技术科学上网的终极安全指南
- 10月20日免费节点分享|22.9M/S,SSR节点/V2ray节点/Clash节点/Singbox节点|免费上网梯子每天更新
- Shadowrocket 选购指南:从入门到精通,找到你的专属代理神器
- 10月19日免费节点分享|19.3M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费上网梯子每天更新
- 深入解读:V2Ray为何比SSR更安全?一场网络隐私的全方位较量
- 10月18日免费节点分享|20.6M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 深度指南:Shadowrocket从入门到精通——iOS用户的网络自由密钥
- 10月17日免费节点分享|18M/S,Clash节点/SSR节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 深入解析科学上网套:全方位使用指南与常见问题解答
- 10月16日免费节点分享|22M/S,Shadowrocket节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 10月15日免费节点分享|21.2M/S,Clash节点/SSR节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 全局掌控:安卓设备上 Clash 全局模式完整设置指南与深度解析
- 解锁全球游戏体验:育碧平台科学上网全攻略与深度解析
- 10月14日免费节点分享|22.5M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费上网梯子每天更新
- 华为Mate 10科学上网全攻略:突破限制,畅游全球网络
归档
- 2026-11 13
- 2026-10 61
- 2026-09 58
- 2026-08 63
- 2026-07 61
- 2026-06 55
- 2026-05 56
- 2026-04 51
- 2026-03 60
- 2026-02 52
- 2026-01 56
- 2025-12 59
- 2025-11 55
- 2025-10 56
- 2025-09 55
- 2025-08 49
- 2025-07 31
- 2025-06 30
- 2025-05 31
- 2025-04 30
- 2025-03 388
- 2025-02 360
- 2025-01 403
- 2024-12 403
- 2024-11 390
- 2024-10 403
- 2024-09 388
- 2024-08 402
- 2024-07 427
- 2024-06 442
- 2024-05 181
- 2024-04 33
- 2024-03 31
- 2024-02 29
- 2024-01 51
- 2023-12 52
- 2023-11 32
- 2023-10 32
- 2023-09 3