内容简介:使用selenium做自动化测试入门-基于JAVA
Posted on 2017 年 6 月 14 日
之前在使用 JAVA 做爬虫的时候,有遇到一个问题,就是有些网站,必须要浏览器运行,然后JS执行.内容才能显示出来.遇到这种站,代码直接就趴了,内容抓取不到.网上找了一下发现有一个叫selenium的,可以模拟浏览器行为,做自动化测试.感觉这个应该挺好玩的.难得今天有时间.玩了一把.确实不错
官方网站: http://www.seleniumhq.org/ 官方代码仓库: https://github.com/SeleniumHQ/selenium
我的项目使用的依赖管理 工具 是maven,下面给出Selenium的maven地址
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.4.0</version> </dependency> <!-- 大家平时找jar包可以在这个网站:https://mvnrepository.com/ 去查询,非常好用 -->
然后写一个入门测试的程序
package org.linuxsogood.reference.chp1.selenium; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; /** * Created by honway on 2017/6/14 10:44. * */ public class Demo1 { public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.chrome.driver", "C:\\opt\\driver\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("http://192.168.0.227:7700/"); WebElement username = driver.findElement(By.xpath("//*[@id=\"loginForm\"]/div/div[2]/input")); username.sendKeys("123456"); WebElement passwd = driver.findElement(By.xpath("//*[@id=\"loginForm\"]/div/div[3]/input")); passwd.sendKeys("123456"); driver.findElement(By.xpath("//*[@id=\"loginForm\"]/div/div[5]/button")).submit(); driver.findElement(By.xpath("//*[@id=\"menu_li\"]/li[2]/a")).click(); Thread.sleep(2000); driver.findElement(By.xpath("//*[@id=\"menu_li\"]/li[2]/ul/li[9]")).click(); } }
由于selenium的运行是基于浏览器的,所以这里要下载一个webdriver,把下载下来的webDriver放到一个目录里面,然后使用System工具类设置一下系统变量,指向这个webDriver
对于每一种浏览器,都会有一个webDriver, 其实这个webDriver就是一个浏览器的驱动.用它来控制我们本地安装的对应的浏览器.我例子当中使用的是chrome的驱动器.
请注意:这里只需要设置驱动器对应的环境变量,不是你的chrome浏览器程序的exe文件所在的位置.是你下载的驱动器程序的位置.
附上官方的驱动器下载地址 http://chromedriver.storage.googleapis.com/index.html
程序中有一个线程暂停了2秒的代码,是因为点击菜单,它有一个动画效果,如果不暂时一会儿再点击,就会选择不到元素,从而抛出异常.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Web前端自动化入门总结
- Web前端自动化入门总结
- Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置
- Android自动化测试入门(四)单元测试
- Android自动化测试入门(三)Espresso
- Linux自动化运维之Cobbler(快速入门)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
软件预构艺术(中文版)
Ken Pugh / O'Reilly Taiwan公司 / 东南大学 / 2010-6 / 26.00元
利用经验累积而得到的洞察力开发新的解决方案被称为预构。透过重构而获得的专业知识也属于这类经验,而预构的词源即重构。重构是修改程序或软件系统内部结构的实践,以此在保留其现有行为的基础上改良设计。重构的原因有多种:方便后期增加功能、提高可维护性、提升性能。 本书作者是经验老道的软件开发人员。书中,作者运用他个人和其他众多开发人员的丰富经验,展示由其推衍而得的各项实践方针。这些方针把优秀的开发人员......一起来看看 《软件预构艺术(中文版)》 这本书的介绍吧!