您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
记selenium1.2升级到selenium2.0
作者:网络转载 发布时间:[ 2014/3/7 11:31:10 ] 推荐标签:selenium 自动化测试

4. 把底层框架中1.0的方法修改为2.0的,以下做一个对比

 

方法 Selenium1.0 Selenium2.0
打开页面 Selenium.open(String url); Driver.get(String url);
点击元素 Selenium.click(String arg0); driver.findElement(By).click();
输入框

selenium.type(String arg0, String arg1);

arg0为元素定位,arg1为输入的值,

再次type时会清空了输入

WebElement element = driver.findElement(By);

element.sendkeys(arg0);

需要使用element.clear();来清空内容。

下拉选择框

Selenium.select(String arg0, String arg1);

arg0为元素定位,arg1为选择的值

找到下拉框元素:

Select select=new Select(driver.findElement(By));  

选择对应的选择项:

select.selectByVisibleText(String text);

//通过文本选择

select.selectByValue(String value);

//通过value选择

select.selectByIndex(int index)

//通过序号选择

单选多选框

选择:

selenium.check(String locator);

不选:

selenium.check(String locator);

判断是否选择:

Boolean isChecked(String locator);

定位元素:

WebElement element =driver.findElement(By);

点击:Element.click();

清除:Element.clear();

判断是否选择:

Boolean isSelected();

判断是否可选择:Boolean isEnabled();

获取文本内容 selenium.getText(String locator);

WebElement element =driver.findElement(By);

element.getText();

弹出框

Selenium.chooseOkOnNextConfirmation();

Selenium.chooseCancelOnNextConfirmation();

Selenium.getConfirmation();

该方法我使用后没有成功,所以一直很纠结

Alert alert = driver.switchTo().alert();

alert.accept();

//点击OK

alert.dismiss();

//点击cancel

alert.getText();

//获取弹出框文本

2.0很好的处理了弹出框问题。

frame 1.0中对frame没有特殊处理跟其他元素一样

2.0中需要在frame与defaultContent切换后才能定位,

否则会出现找不到元素的问题

driver.switchTo().defaultContent();

//切换到默认页面内容

driver.switchTo().frame(WebElement frameElement);

//切换到对应的frame中

页面等待

selenium.waitForPageToLoad(String arg0);

直接有方法实现页面加载

driver.manage().timeouts().pageLoadTimeout(30, 

TimeUnit.SECONDS);

//页面加载等待时间

driver.manage().timeouts().implicitlyWait(30,

TimeUnit.SECONDS); 

//定位元素等待时间

driver.manage().timeouts().setScriptTimeout(30, 

TimeUnit.SECONDS);

//异步加载等待时间

但是只是在firefox上才能起作用,其他浏览器需要

自己实现对应的方法。

隐藏元素 在1.0中直接可以操作,即使该元素的style为”display:none” 如果不显示的元素是无法定位的,那需要触发mouseover
之后才能定位。

以上表格中提到的如何通过By定位元素的内容可以参考以下文章:

http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/By.html

上一页1234下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd