本来系统跑自动化还可以,哥头脑发昏,想用中文写case,结果运行cucumber,出了个如下的错
malformed UTF-8character (ArgumentError)
网上搜了好多方法,都没解决,
然后去装中文字体,还是不行。
用命令看看版本号
cat /etc/issue
源文档 <http://www.cnblogs.com/zero1665/archive/2010/05/24/1742962.html>
然后看到版本13.04
然后想法更新
sudo apt-get update&& sudo apt-get dist-upgrade && sudo apt-get autoremove
完成上述更新后,你可能需要重启来在升级前应用新的包和内核。
接着,按下键盘上的Alt+F2键来打开Ubuntu上的命令窗口。当窗口打开后,输入下面的命令并按下回车。
update-manager –d
Ubuntu接着应该带着升级选项会打开update-manager。按下Upgrade开始升级你的机器
源文档 <http://www.linuxidc.com/Linux/2014-02/97181.htm>
然后失败了下载,然后让我更行到13.10
希望好运
更新的同时,干别的.
上次听了花花的轮询,网上找了下,资料不多.
WebDriver 显示等待和隐式等待
等待是在执行自动化任务一段时间后才继续下一步。
显示等待
一个显示等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。最坏的一个例子当属Thread.sleep(),它用一段明确的等待时间作为条件。 WebDriver有一些方便的方法可以帮助你写出按需等待的代码。WebDriverWait结合ExpectedCondition便是其中一种。
java
WebDriver driver =new FirefoxDriver();driver.get("http://somedomain/url_that_delays_loading");
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));
源文档 <http://www.myexception.cn/web/1595253.html>
1.selenium中如果去寻找元素,而元素不存在的话,通常会抛出NoSuchElementException 导致测试失败,但有时候,我们需要去确保页面元素不存在,才是我们正确的验收条件下面的方法可以用来判定页面元素是否存在
1 public boolean doesWebElementExist(WebDriver driver, By selector)
2{
3
4 try
5 {
6 driver.findElement(selector);
7 returntrue;
8 }
9 catch(NoSuchElementException e)
10 {
11 return false;
12 }
13 }
2.一般有这样的应用场合,例如我们要验证在一个网站是否登录成功,那么可以通过判断登录之后是否显示相应元素:
WebElementlinkUsername =driver.findElement(By.xpath("//a[contains(text(),"+username+")]"));
return linkUsername.isDisplayed();
这一方法的前提是:该元素之前已经存在,仅仅需要判断是否被显示。
现在存在另一种场合,页面元素并不存在,即通过driver.findElement只能在超时之后得到NoSuchElementException的异常。
因此只好通过如下方法解决:
1 boolean ElementExist (ByLocator )
2{
3 try
4 {
5 driver.findElement( Locator );
6 returntrue;
7}
8 catch(org.openqa.selenium.NoSuchElementException ex)
9{
10 returnfalse;
11 }
12 }
但这一方法仍然不理想,有这样两个问题:
1、这一方法不属于任何一个page页,因此需要额外进行框架上的变更以支持这些功能函数,否则就必须在每一个用到该函数的page类写一遍。
2、仍然需要等到超时才能得知结果,当需要频繁使用该函数的时候会造成相当的时间浪费。
3.
类似于seleniumRC中的isTextPresent方法
用xpath匹配所有元素(//*[contains(.,'keyword')]),判断是否存在包含期望关键字的元素。
使用时可以根据需要调整参数和返回值。
1 public boolean isContentAppeared(WebDriver driver,String content) {
2 booleanstatus = false;
3 try {
4 driver.findElement(By.xpath("//*[contains(.,'" + content +"')]"));
5 System.out.println(content + "is appeard!");
6 status = true;
7 } catch (NoSuchElementException e) {
8 status = false;
9 System.out.println("'" +content + "' doesn't exist!"));
10 }
11 return status;
12 }
详细xpath介绍请见:http://www.w3school.com.cn/xpath/
4. Xpath 多重判断
1 while(currentPageLinkNumber<MaxPage)
2 {
3 WebElement PageLink;
4 PageLink = driver.findElement(By.xpath("//a[@class = 'PageLink' and@title ='"+Integer.toString(currentPageLinkNumber+1)+"']"));
5 PageLink.click();
6 currentPageLinkNumber++;
7 //OtherOperation();
8 }
源文档 <http://www.cnblogs.com/puresoul/archive/2013/12/25/3490909.html>