Selenium-简介

1、简介javascript

Selenium是UI自动化的一个框架。css

Selenium1.0时代就是用js注入技术与浏览器交互。java

Selenium WebDriver就是调用浏览器原生的API来实现的操做。他是Client/server模式的。意思就是说咱们写的命令通过Selenium的Server端捕获,而后翻译成浏览器能够执行的操做,浏览器执行了以后的返回结果通过Server端翻译返回给客户端,这里的客户端其实就是咱们写的代码。linux

Selenium3.0,支持Edge浏览器,支持IE9以上等等,如今咱们仍是用的2.0。windows

支持多种操做系统windows、linux、os,支持多种浏览器火狐、IE、谷歌、Sarif等等。浏览器

Java是Oracle公司的。app

2、用法简介框架

一、浏览器的操做ui

能够经过driver.navegate对浏览器进行操做,好比back回退、forword前进、to到某一个url地址。url

还能够直接操做driver.quit退出浏览器,driver.close关闭浏览器。

二、元素定位

元素定位主要有7种。id、name、class、tag、linktext、css、xpath。常常用的也就是id和css。css若是太复杂的话咱们能够经过浏览器F12查看元素定位,获得css路径。

咱们获得元素了以后就能够对元素进行操做,好比sendkeys、gettext、getattribute等等。

还能够对页面进行截图,这也是常常用的方法,当断言失败或者遇到异常的时候就截图getScreenShot操做。

三、Actions

就是对浏览器进行的操做,好比鼠标、键盘的操做。鼠标操做有click、doubleclick、movetoelement移动、dtag拖拽等等操做。键盘能够对输入框输入键盘上的key以模拟键盘操做。

四、JS

有的时候咱们会去执行javascript脚本。把driver转成JavascriptExcecutor,而后经过这个对象执行ExcecuteScript脚本代码。还能够对js方法传参数,好比咱们经过selenium框架获得了某个元素,能够经过arguments[0]这种方式操做元素,还能够获得方法的返回值,返回值经过string接受,而后再转。

五、Switch

当咱们打开了几个页面或者页面有iframe或者操做alert的时候须要先switch到相关的页面或者iframe上才能操做元素。

当咱们操做alert的时候先switch.alert到弹出框上,而后再经过方法accept或者dismiss点击肯定或者取消操做。

六、等待

等待是由于有的时候执行脚本的时候,元素尚未加载出来,咱们就经过等待等到元素加载出来在操做。等待分为3种:

1)强制等待,就是经过java的Thread.Sleep等待。

2)隐士等待,就是经过对driver的设置,设置了以后,整个经过driver操做元素都会等待。

driver.manage().timeouts().implicitlyWait获取元素的时间设置;还有pageLoadTimeout页面加载的时间设置;setScriptTime脚本执行时间的设置。

3)显示等待,上面两种等待都有弊端,咱们通常都用显示等待,就是须要等待的地方才执行等待的操做。WebDriverWait对象,wait.until传入要找元素的代码,若是超时尚未找到异常,若是找到了继续执行。

WebDriverWait wait = new WebDriverWait(driver, 10);

WebElement rElement = wait.until(new ExpectedCondition<WebElement>() {

public WebElement apply(WebDriver d) {

return d.findElement(By.cssSelector("input[type='radio'][name='company']:checked"));

}

});

七、断言

Selenium提供了Assert、Verify断言。Assert断言失败会中止执行;Verify断言失败继续执行,可是会记录日志。

相关文章
相关标签/搜索