第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何調(diào)用 JUnit 測(cè)試作為另一個(gè)測(cè)試的設(shè)置?

如何調(diào)用 JUnit 測(cè)試作為另一個(gè)測(cè)試的設(shè)置?

蝴蝶不菲 2023-12-13 17:15:50
我正在嘗試創(chuàng)建一個(gè) JUnit 測(cè)試,要求用戶(hù)使用管理員帳戶(hù)登錄。為了使我不必重復(fù)代碼,我完成了LoginJUnit 測(cè)試和GoToAdminPageJUnit 測(cè)試。首先訪問(wèn)登錄頁(yè)面并登錄。第二個(gè)嘗試訪問(wèn)只有管理員才能訪問(wèn)的菜單,旨在從第一個(gè)離開(kāi)的地方繼續(xù)。我想要的是GoToAdminPage從相同的頁(yè)面開(kāi)始并以相同的環(huán)境Login結(jié)束。這個(gè)想法是,通過(guò)創(chuàng)建Login自動(dòng)化測(cè)試,我可以將其重復(fù)用于我將來(lái)想做的任何需要管理員權(quán)限的測(cè)試。我想做的是,在 中setUp()調(diào)用GoToAdminPage第一個(gè)測(cè)試。然而,它的作用是,它啟動(dòng)一個(gè)測(cè)試瀏覽器GoToAdminPage,然后立即啟動(dòng)另一個(gè)測(cè)試瀏覽器,該瀏覽器由于包含指令Login而關(guān)閉。Login.tearDown()driver.quit()我想要的是GoToAdminPage期望在同一頁(yè)面結(jié)束時(shí)正確拾取Login,它沒(méi)有g(shù)et說(shuō)明,因此它永遠(yuǎn)不會(huì)離開(kāi)起始的 Firefox 頁(yè)面。我已經(jīng)嘗試過(guò)一些事情。我的每個(gè)測(cè)試都繼承該類(lèi)BasicTest,該類(lèi)定義了許多內(nèi)容(WebDriver、JS Executor、通用實(shí)用函數(shù)等)。在該課程中,我創(chuàng)建了一個(gè)perform()調(diào)用setUp()和的函數(shù)test()。這樣,在 中GoToAdminPage,我所要做的就是調(diào)用Login.perform(),GoToAdminPage.setUp()這將在技術(shù)上實(shí)現(xiàn)我想做的事情。然而,事實(shí)并非如此,并且具有與我上面提到的相同的效果。在網(wǎng)上查看,我發(fā)現(xiàn)我也可以做到這一點(diǎn)GoToAdminPage extends Login,但也有相同的結(jié)果。最后,我嘗試將整個(gè)Login.test()過(guò)程放在類(lèi)中的一個(gè)單獨(dú)的函數(shù)中Login,我可以在 inside 調(diào)用該函數(shù)GoToAdminPage,但這具有相同的結(jié)果??偠灾?,似乎發(fā)生的情況是,當(dāng)我在內(nèi)部調(diào)用另一個(gè) JUnit 測(cè)試時(shí)GoToLoginPage,它會(huì)執(zhí)行測(cè)試,但將其作為單獨(dú)的測(cè)試進(jìn)行。我想要的是能夠本質(zhì)上使這一切成為一個(gè)大測(cè)試,一旦我調(diào)用了Login,我就可以在我的用戶(hù)登錄的情況下與登錄后頁(yè)面進(jìn)行交互。本質(zhì)上我只是想GoToAdminPage成為 的Login擴(kuò)展過(guò)程。這可能嗎?
查看完整描述

3 回答

?
阿波羅的戰(zhàn)車(chē)

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

將“登錄”步驟定義為常規(guī)方法(未用 注釋@Test)。然后您可以從任何您想要的地方調(diào)用該方法。來(lái)自您的登錄測(cè)試方法(在執(zhí)行步驟后添加所需的斷言)以及來(lái)自任何setUp沒(méi)有實(shí)際運(yùn)行登錄測(cè)試的方法。



查看完整回答
反對(duì) 回復(fù) 2023-12-13
?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊

最后我找到了解決方案:

  • GoToAdminPage延伸Login

  • GoToAdminPage.setUp()來(lái)電parent.setUp()

  • GoToAdminPage.test()來(lái)電parent.test()

使用它,我能夠使我的第二個(gè)測(cè)試使用其父級(jí)作為設(shè)置階段。


查看完整回答
反對(duì) 回復(fù) 2023-12-13
?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

您應(yīng)該應(yīng)用頁(yè)面對(duì)象模式,并創(chuàng)建一個(gè)登錄對(duì)象頁(yè)面。

Web 自動(dòng)化中最流行的模式之一是所謂的頁(yè)面對(duì)象模式。要理解該模式的主要目標(biāo),首先您需要考慮您的 Web 自動(dòng)化測(cè)試正在做什么。他們導(dǎo)航到不同的網(wǎng)頁(yè)并在各種元素上單擊/鍵入。頁(yè)面對(duì)象模式將頁(yè)面上發(fā)生的所有元素、操作和驗(yàn)證包裝在一個(gè)對(duì)象中——頁(yè)面對(duì)象。

頁(yè)面對(duì)象模式的一些優(yōu)點(diǎn)如下所示,

  • 減少代碼的重復(fù)

  • 使測(cè)試更具可讀性和健壯性

  • 提高測(cè)試的可維護(hù)性

恕我直言,在測(cè)試用例之間創(chuàng)建依賴(lài)關(guān)系并不是一個(gè)好的做法。

例子:

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();

? ? }

}


查看完整回答
反對(duì) 回復(fù) 2023-12-13
  • 3 回答
  • 0 關(guān)注
  • 197 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)