3 回答

TA貢獻1862條經驗 獲得超6個贊
將“登錄”步驟定義為常規方法(未用 注釋@Test
)。然后您可以從任何您想要的地方調用該方法。來自您的登錄測試方法(在執行步驟后添加所需的斷言)以及來自任何setUp
沒有實際運行登錄測試的方法。

TA貢獻1725條經驗 獲得超8個贊
最后我找到了解決方案:
GoToAdminPage
延伸Login
GoToAdminPage.setUp()
來電parent.setUp()
GoToAdminPage.test()
來電parent.test()
使用它,我能夠使我的第二個測試使用其父級作為設置階段。

TA貢獻1798條經驗 獲得超7個贊
您應該應用頁面對象模式,并創建一個登錄對象頁面。
Web 自動化中最流行的模式之一是所謂的頁面對象模式。要理解該模式的主要目標,首先您需要考慮您的 Web 自動化測試正在做什么。他們導航到不同的網頁并在各種元素上單擊/鍵入。頁面對象模式將頁面上發生的所有元素、操作和驗證包裝在一個對象中——頁面對象。
頁面對象模式的一些優點如下所示,
減少代碼的重復
使測試更具可讀性和健壯性
提高測試的可維護性
恕我直言,在測試用例之間創建依賴關系并不是一個好的做法。
例子:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public final class LoginPage {
? ? @FindBy(id="username")
? ? private WebElement username;
? ? @FindBy(id="password")
? ? private WebElement password;
? ? @FindBy(id="loginBtn")
? ? private WebElement submit;
? ? public LoginPage(WebDriver driver) {
? ? ? ? PageFactory.initElements(driver, this);
? ? }
? ? public void submit(String username, String password) {
? ? ? ? this.username.sendKeys(username);
? ? ? ? this.password.sendKeys(password);
? ? ? ? submit.click();
? ? }
}
添加回答
舉報