回想一下以前的十几章,我们讲了自动化环境发搭建,讲了TestNg框架,讲了如何通过firebug定位桌面元素,还通过一些代码详解了测试集合,测试排序,断言等等。大家如果按照我讲的顺序一点点的搭建环境,一点点的撸代码,现在一定对自动化有一定的理解,也会写一些简单的小脚本了。今天就进入一些比较复杂的自动化脚本了。刚关注本号的同学,可以一点点从前面学起。
以后的几节,咱们都会讲Webdriver的常用API使用办法。
请仔细看以下方法,记住注释。记录一下哟。
package cn.autotest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class WebDriverApi {
public WebDriver wd;
static String actual = null;
String baiduurl="https://www.baidu.com";//要访问的网站
String sogourl ="https://www.sogo.com";//访问的第二个网站
@Test(priority=1)
public void visitbaidu () throws InterruptedException{
this.beforeTest();//调用启用火狐浏览器的方法
wd.get(baiduurl);//访问百度
Thread.sleep(3000);//为了观察准确让线程睡一会
wd.close();//为了不混淆,每次都关闭
}
@Test(priority=2)
//访问的第二种方法
public void visitsohu () throws InterruptedException{
this.beforeTest();//调用启用火狐浏览器的方法
wd.navigate().to(sogourl);//注意和第一次用的方法不一样。
Thread.sleep(3000);//为了观察准确让线程睡一会
wd.close();//为了不混淆,每次都关闭
}
@Test(priority=3)
//返回上一个访问的网页,模拟浏览器后退操作,模拟浏览器的刷新操作
public void visitreturn() throws InterruptedException {
this.beforeTest();//调用启用火狐浏览器的方法
wd.get(baiduurl);
Thread.sleep(3000);//为了观察准确让线程睡一会
//利用refresh()方法,模拟刷新浏览器操作。
wd.navigate().refresh();
Thread.sleep(3000);//为了观察准确让线程睡一会
wd.get(sogourl);
Thread.sleep(2000);//为了观察准确让线程睡一会
//利用此方法返回上一个结果
wd.navigate().back();
wd.close();//为了不混淆,每次都关闭
}
public void beforeTest(){
//启动火狐浏览器
System.setProperty("webdriver.firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
wd = new FirefoxDriver();
}
}
有心的同学,会发现,第一次打开了百度,然后关闭。第二次打开了搜狗然后关闭。第三次。打开百度,刷新一下,然后打开了搜狗,又返回了百度。看看是这个顺序吗?没记住的话,再执行一遍看对吗?
上述一段代码共讲了两种访问网站的方法get.() 以及navigate().to()。一种刷新浏览器的方法 navigate().refesh() 。还有返回上一次浏览网页的方法navigate().back()。是不是很简单。一会涉及到返回的,刷新的就可以用这些方法了。
码字不易,给点支持。分享给有需要的测试同学哟!欢迎关注 公 众 号 王大哥自动化测试 更新更早,更及时