看selenium的网站的文档,里面的自动化用例设计有一些小点很靠谱。学了很多,可以用作优化自己的代码。
1.测试类型:
Testing Static Content
Testing Links
Function Tests
Testing Dynamic Elements
Ajax Tests
2.验证结果:
assert 和verify的区别:assert如果wrong,就会停止执行后面的内容;verify如果wrong,会记录下来,然后继续执行后面的内容。
3.定位策略:
1.id和name是最高效速度最快的;
2.xpath是万能的
4.包装一下selenium的方法,减少代码冗余
---click方法
原来的代码:
selenium.click(elementLocator); selenium.waitForPageToLoad(waitPeriod);
优化后的代码:
/** * Clicks and Waits for page to load. * * param elementLocator * param waitPeriod */ public void clickAndWait(String elementLocator, String waitPeriod) { selenium.click(elementLocator); selenium.waitForPageToLoad(waitPeriod); }
----操作元素,这个其实有用过,但是没有全面包装:
/**
* Selenium-WebDriver -- Clicks on an element only if it is available on a page.
*
* param elementLocator
*/
public void safeClick(String elementLocator) { WebElement webElement = getDriver().findElement(By.XXXX(elementLocator)); if(webElement != null) { selenium.click(webElement); } else { // Using the TestNG API for logging Reporter.log("Element: " + elementLocator + ", is not available on a page - " + getDriver().getUrl()); } }