我想通過Selenium WebDriver自動化prestashop測試用例。我是否正確,尤其是頁面對象模型?我是否正在使用Selenium中的頁面對象模型?
這是我HomePagePOM類:
package pageObjects;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.Alert;
public class HomePagePOM {
private static WebElement element = null;
private static WebDriver driver = null;
public static String correctLogin = "aaaa";
public static void enterPage(WebDriver driver) {
driver.get("http://website.com");
}
public static WebElement homeLogo(WebDriver driver) {
element = driver.findElement(By.id("header_logo"));
return element;
}
public static WebElement searchBar(WebDriver driver) {
element = driver.findElement(By.id("search_query_top"));
return element;
}
public static WebElement searchBarButton(WebDriver driver) {
element = driver.findElement(By.name("submit_search"));
return element;
}
public static WebElement contactUs(WebDriver driver) {
element = driver.findElement(By.id("contact-link"));
return element;
}
public static WebElement signIn(WebDriver driver) {
element = driver.findElement(By.className("header_user_info"));
return element;
}
}
這是我LoginPagePOM類:
package pageObjects;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class LoginPagePOM {
private static WebElement element = null;
private static WebDriver driver = null;
public static String correctLogin = "client";
public static String incorrectLogin = "client_incorrect";
public static String correctPassword = "pass_correct";
public static String incorrectPassword = "pass_incorrect";
public static WebElement createAccountField(WebDriver driver) {
element = driver.findElement(By.id("email_create"));
return element;
}
public static WebElement registeredEmailField(WebDriver driver) {
element = driver.findElement(By.id("email"));
return element;
}
public static WebElement registeredPasswordField(WebDriver driver) {
element = driver.findElement(By.id("passwd"));
return element;
}
public static WebElement registeredSubmitButton(WebDriver driver) {
element = driver.findElement(By.id("SubmitLogin"));
return element;
}
public static WebElement createAccountButton(WebDriver driver) {
element = driver.findElement(By.id("SubmitCreate"));
return element;
}
}
,這是我LoginPageCorrectLogin
類,執行一個單一的測試案例 - 正確的登錄到的Prestashop網站:
package testCases;
import pageObjects.HomePagePOM;
import pageObjects.LoginPagePOM;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class LoginPageCorrectLogin {
public static WebDriver driver = null;
public static WebElement element = null;
public static void main(String[] args) {
driver = new FirefoxDriver();
HomePagePOM.enterPage(driver); //Enter home site
HomePagePOM.signIn(driver).click(); //Find Sign In option and click
LoginPagePOM.registeredEmailField(driver).sendKeys(LoginPagePOM.correctLogin); // Input correct login to field
LoginPagePOM.registeredPasswordField(driver).sendKeys(LoginPagePOM.correctPassword); //Input correct password to field
LoginPagePOM.registeredSubmitButton(driver).click(); // Click on submit button
}
}
我是Selenium的begginer,但我想用最好的習慣ES。這是對的嗎?在這個例子中,我將創建其他類,如LoginPageCorrectPassword
,LoginPageIncorrectLogin
和LoginPageIncorrectPassword
。
有關頁面模型對象的任何建議將非常有幫助。
Prestashop的自動測試案例?祝你好運先生。 –