package cn.pagefactory.loginpage;web
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;ui
public class Loginpage {
String url="https://en.mail.qq.com/cgi-bin/loginpage";
public WebDriver driver;
@FindBy(id="u")
public WebElement Username;
@FindBy(id="p")
public WebElement Password;
@FindBy(id="login_button")
public WebElement loginbutton;
@FindBy(id="login_frame")
public WebElement loginframe;
public Loginpage(){
System.setProperty("webdriver.firefox.bin", "D:\\Firefox\\installpath\\firefox.exe");
driver=new FirefoxDriver();
PageFactory.initElements(driver,this);
}
public void load(){
driver.get(url);
}
public void quit(){
driver.quit();
}
/* public WebDriver getDriver(){
return driver;
}*/
public void login(){
driver.switchTo().frame(loginframe);
Username.sendKeys("XXXXXX");
Password.sendKeys("XXXXXXX");
loginbutton.click();
}
}this
package cn.pagefactory.testqqmail;url
import org.testng.Assert;
import org.testng.annotations.Test;firefox
import cn.pagefactory.loginpage.Loginpage;資源
public class testqqmail {
@Test
public void testqqmail(){
Loginpage loginpage=new Loginpage();
loginpage.load();
loginpage.login();
Assert.assertTrue(loginpage.driver.getPageSource().contains("收件箱"));
}
}get
解決方案:因爲沒有加等待時間,因此致使沒有獲取到頁面所含資源,加一個等待時間就解決了selenium
修改後的代碼:it
public class testqqmail {
@Test
public void testqqmail() throws InterruptedException{
Loginpage loginpage=new Loginpage();
loginpage.load();
loginpage.login();
Thread.sleep(5000);
Assert.assertTrue(loginpage.driver.getPageSource().contains("收件箱"));
}
}io