Selenium 介绍
Selenium 是目前用的最广泛的 Web UI 自动化测试框架,核心功能就是可以在多个浏览器上进行自动化测试,支持多种编程语言,目前已经被 google,百度,腾讯等公司广泛使用。
开发步骤
1、配置 google 驱动的环境变量,如果不配置需要在代码中指定驱动位置。
2、eclipse 中导入 Java Selenium 的依赖。
3、编写脚本代码。
登录网站
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().pageLoadTimeout(300000, TimeUnit.SECONDS);
driver.get("http://192.168.2.169:8090/login");
driver.findElement(By.name("username")).sendKeys("wydong");
driver.findElement(By.name("cipher")).sendKeys("123456");
driver.findElement(By.id("login")).click();
元素定位
1、通过 id 定位。
2、通过 name 定位。
3、通过 tagName 定位。
4、通过 className 定位。
5、通过 linkText 定位(链接全部文字)。
6、通过 partialLinkText 定位(链接部分文字)。
7、通过 XPath 定位(相对路径)。
8、通过 cssSelector 定位(推荐使用)。
WebDriver 操作
1、获取页面源码。
2、获取当前页面的 url。
3、访问指定 url。
4、关闭驱动对象。
5、获取打开页面的句柄。
元素等待
1、硬性等待,线程休眠。
2、隐式等待,在超时时间段内,不断查找元素。
3、显试等待,一直等到某个条件符合后才继续执行。
WebDriver 需要切换场景
1、操作 alert 弹框。
2、操作 confirm 弹框。
3、操作 iframe 内元素。
4、操作 Window 元素。
其他
1、通过 JavascriptExcutor 对象执行脚本来操作一些页面元素。
2、通过 Action 对象,可以模仿鼠标的一些特殊操作,如右键、拖拽。
3、非 input 框的上传,利用第三方的工具实现文件上传(如autoit)。
4、遇到验证码的处理:手动去除、图片识别或者万能验证码(后台验证必过)。
5、借助其他专业的框架,可以生成漂亮的测试报告。
Web自动化测试全套实战教程:Python+Selenium4环境搭建