對於Java來說,這可能是不可能完成的任務,但我想知道是否有任何專業人士有解決方案。 [使用Java已經有好幾年了,大學真的很好]在Java中,可以合併兩個類,以便兩個類的方法都可以從一個類中調用?
我正在構建一個QA框架。如果問題沒有意義,請提出任何問題或提出任何標記。
使用Selenium Webdriver,我們有一個驅動程序類。
public class Driver {
private final String browser;
private final WebDriver driver;
public Driver(String browser) {
driver = new RemoteWebDriver(new URL(Environment_address));
}
我首先提到這個類,因爲它需要被運行每個測試用例的測試類以及帶有附加方法的庫所使用。 (輔助方法)
如
class UserPageUtils{
private final Webdriver driver;
public UserPageUtils(driver){
this.driver = driver;
}
public void makeUsersLifeMiserable(){...}
}
和
class ActionPageUtils{
private final Webdriver driver;
public ActionPageUtils(driver){
this.driver = driver
}
public void doSomethingCoolWithAction(){...}
}
隨着這些例子中,有一個方法來合併到類成一個類或變量?我沒有想到的設計模式。我有以下幾點,我該如何安排課程,以便下面是可能的,或類似的效果。
public TestSuite extends AverageEverydayTestSuiteLikeTestNG{
@BeforeMethod
public void setUp(Object[] objects) {
HelperUtils utils = merge('ActionPageUtils','UserPageUtils', driver);
// Similarly in psuedo
// HelperUtils utils = merge(new ActionPageUtils(driver), new UserPageUtils(driver));
}
@Test
public void testUserAction(HelperUtil utils){
utils.makeUsersLifeMiserable(); //util has methods from both classes!!
utils.doSomethingCoolWithAction();
assert something is still passing.
}
是否有可能在java中做這樣的事情?在一個類中創建兩個包裝器。我無法將頭圍繞在結構上。我覺得這是更可能的bash或某事,但不知道如果Java可以做這樣的事情。
該如何實施?
使用[爪哇,硒,Groovy中]
怎麼樣的JUnit TestSuite http://www.tutorialspoint.com/junit/junit_suite_test.htm –
看起來像你想的頁面對象,對不對?將基類定義爲抽象並擴展其他頁面對象類。看看[這](https://www.seleniumeasy.com/selenium-tutorials/simple-page-object-model-framework-example)例子,可能它會幫助 – Rao
呵呵,不是一個壞的方法......但類似的東西。我並沒有試圖將多個測試用例合併在一起構成一個大套件。然而,我試圖將多個圖書館班分成一個大班。 目標是:測試用例將依賴多個庫來幫助運行測試。 @ScaryWombat – Baconbitz