web端自动化测试在回归测试、兼容测试扮演着举足轻重的角色,作为web自动化测试工程师,日常工作主要的部分就是编写自动化测试用例代码,借助的开源框架来说,目前市场占有率较高的仍然是selenium。
如何使用selenium完成web页面元素的定位和操作,是web自动化测试工程师用例代码中的主要工作,元素定位主要有8种,定位到元素后,需要做的就是元素行为的模拟,比如点击按钮元素、在文本框输入内容等等,如何使用selenium实现元素操作呢?以下列举常见的元素操作。
右键目标元素1WebElement element = driver.findElement(定位方式方法); 2//定义WebElement selenium元素对象 3Actions actions = new Actions(driver); 4//定义Actions selenium元素操作对象 5actions.contextClick(element).perform(); 6// 通过actions对象触发鼠标右键点击 7Robot robot = new Robot(); 8//定义Robot selenium键盘操作对象 9robot.keyPress(KeyEvent.VK_DOWN); 10// 通过robot按下方向键中的下键 11robot.keyRelease(KeyEvent.VK_DOWN); 12// 通过robo松开方向下键 13Thread.sleep(1000L); 14robot.keyPress(KeyEvent.VK_ENTER); 15// 按下回车键 16robot.keyRelease(KeyEvent.VK_ENTER); 17// 松开回车键输入框目标元素的清空输入
1WebElement element = driver.findElement(定位方式方法); 2//定义WebElement selenium元素对象 3element.clear(); 4 //将输入框清空 5element.sendKeys(“码同学测试”); 6//在输入框中输入内容 码同学测试 7element.getText(); 8//获取输入框的文本内容:多选框目标元素的全部勾选
1List多选框目标元素的随机勾选2个elements = driver.findElements(定位方式方法); 2//定义WebElement selenium元素对象集合 3for (int i = 0; i < elements.size(); i++) { 4 elements.get(i).click(); //全部勾选多选框 5}
1List弹窗对话框目标元素的操作elements = driver.findElements(定位方式方法); 2//定义WebElement selenium元素对象集合 3Set set = new HashSet<>(); 4//定义HashSet集合对象 5do{ 6 Random random = new Random(); 7 //定义Random对象 8 int temp = random.nextInt(elements.size()); 9 //获取随机数 10 set.add(temp); 11 //将获取的随机数存到HashSet集合对象 12 }while (set.size()<2); 13 14 for (Integer integer : set) { 15 elements.get(integer).click();//随机勾选2个多选选框 16}
1WebElement element = driver.findElement(定位方式方法); 2//定义WebElement selenium元素对象 3element.click(); 4 //元素点击触发弹窗对话框出现 5Alert alert = driver.switchTo().alert(); 6//定义Alert selenium弹窗对象 7alert.accept(); 8//弹窗对话框点确定按钮 9alert.dismiss(); 10//弹窗对话框点取消按钮 11alert.sendKeys(“华测教育”); 12//弹窗对话框中输入框输入 华测教育浏览器基本操作以及鼠标操作
1System.setProperty("webdriver.chrome.driver", "webdrivers/chromedriver.exe");
2WebDriver driver = new ChromeDriver();
3//定义ChromeDriver对象
4driver.manage().window().maximize();
5//浏览器窗口最大化
6driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
7//设置隐式智能等待时间5秒
8driver.get("http://www.mtxhsop.com:3000/");
9//访问码同学商城网站首页
10driver.navigate().refresh();
11//刷新浏览器当前页面
12
13// 实例化actions类。调用doubleClick方法,双击目标元素
14WebElement element = driver.findElement(定位方式方法);
15//实例化WebElement对象,element该对象为双击目标对象
16Actions actions = new Actions(driver);
17// 实例化Actions类对象:actions,并将driver传给actions
18actions.doubleClick(day).perform();
19// 双击目标元素element
20
21
22// 调用moveToElement方法,把鼠标移动到目标元素上
23WebElement Qui = driver.findElement(定位方式方法);
24actions.moveToElement(Qui).perform();
调用JS脚本
1WebDriver driver=new ChromeDriver();
2//定义ChromeDriver对象
3JavascriptExecutor js = (JavascriptExecutor) driver;
4//将ChromeDriver对象强转成JavascriptExecutor对象
5js.executeScript("JS脚本");
6//使用JavascriptExecutor对象调用JS脚本
软件测试工程师自学教程:
这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】
接口性能测试 — 软件测试人必会618实战场景分析
软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.
美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看
测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路
软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试
Jmeter实战讲解案例 — 软件测试人必会
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!



