5、編寫自動化指令碼
前面準備工作已完成,可以開始寫指令碼了。
重點見紅框
1、在類前面新增監聽Listener,當然也可以在testng.xml中設定,後面再說
2、webtestListener.driver = driver;這句將當前的driver傳遞給webtestListener的driver,才能截圖成功,見後續程式碼
下面將依次貼出指令碼程式碼:
1、test_baidu_news.java程式碼:
package testSuite;
import org.testng.annotations.Test;
import framework.BrowserEngine;
import framework.webtestListener;
import pageobjects.baidu_home_page;
import pageobjects.news_page;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Listeners;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.AfterClass;
@Listeners({webtestListener.class})
public class test_baidu_news {
WebDriver driver;
@Test
public void test_news_zhaolei() {
baidu_home_page bhp = new baidu_home_page(driver);
bhp.click_news();
news_page np = new news_page(driver);
np.send_text("趙雷");
np.click_submit_news();
np.sleep(5);
}
@BeforeClass
public void beforeClass(){
BrowserEngine be = new BrowserEngine();
driver = be.getBrowser();
webtestListener.driver = driver;
}
@AfterClass
public void afterClass() {
driver.quit();
}
}
2、test_baidu_tieba.java程式碼:
package testSuite;
import org.testng.annotations.Test;
import framework.BrowserEngine;
import framework.webtestListener;
import pageobjects.baidu_home_page;
import pageobjects.news_page;
import pageobjects.tieba_page;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Listeners;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.AfterClass;
@Listeners({webtestListener.class})
public class test_baidu_tieba {
WebDriver driver;
@Test
public void test_news_zhoujielun() {
baidu_home_page bhp = new baidu_home_page(driver);
bhp.tieba().click();
tieba_page tp = new tieba_page(driver);
tp.tieba_input_ele().sendKeys("周杰倫");
tp.tieba_submit_ele().click();
tp.sleep(5);
}
@BeforeClass
public void beforeClass(){
BrowserEngine be = new BrowserEngine();
driver = be.getBrowser();
webtestListener.driver = driver;
}
@AfterClass
public void afterClass() {
driver.quit();
}
}
3、test_baidu_vedio.java程式碼:
package testSuite;
import org.testng.annotations.Test;
import framework.BrowserEngine;
import framework.webtestListener;
import pageobjects.baidu_home_page;
import pageobjects.vedio_page;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Listeners;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.AfterClass;
@Listeners({webtestListener.class})
public class test_baidu_vedio {
WebDriver driver;
@Test
public void test_baidu_vedio_mayun() {
baidu_home_page bhp = new baidu_home_page(driver);
bhp.click_vedio();
vedio_page vp = new vedio_page(driver);
vp.input_vedio_element().sendKeys("馬雲");
vp.submit_vedio_element().click();
vp.sleep(5);
}
@BeforeClass
public void beforeClass() {
BrowserEngine be = new BrowserEngine();
driver = be.getBrowser();
webtestListener.driver = driver;
}
@AfterClass
public void afterClass() {
driver.quit();
}
}