Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Testng作为套件运行多个selenium java测试用例_Java_Selenium_Selenium Webdriver_Testng - Fatal编程技术网

使用Testng作为套件运行多个selenium java测试用例

使用Testng作为套件运行多个selenium java测试用例,java,selenium,selenium-webdriver,testng,Java,Selenium,Selenium Webdriver,Testng,大家好,我已经用selenium编写了多个测试用例,使用WebDriver 登录到我的门户 添加组 添加位置 以下是在我的门户上执行此任务的selenium代码 基础硒类 登录测试用例 添加组测试用例 添加位置测试用例 当我独立运行这个脚本时,它们运行得非常完美。现在我想将这个脚本作为套件运行,但我不知道从哪里开始。因为我的添加位置测试用例依赖于添加组,而添加组测试用例依赖于登录测试用例 以下是我的问题 我该怎么办?将此测试用例作为套件运行。(稍后我必须通过jar文件运行此套件) 如何指定它们之

大家好,我已经用selenium编写了多个测试用例,使用
WebDriver

  • 登录到我的门户
  • 添加组
  • 添加位置
  • 以下是在我的门户上执行此任务的selenium代码

    基础硒类

    登录测试用例

    添加组测试用例

    添加位置测试用例

    当我独立运行这个脚本时,它们运行得非常完美。现在我想将这个脚本作为套件运行,但我不知道从哪里开始。因为我的添加位置测试用例依赖于添加组,而添加组测试用例依赖于登录测试用例

    以下是我的问题

  • 我该怎么办?将此测试用例作为套件运行。(稍后我必须通过jar文件运行此套件)
  • 如何指定它们之间的依赖关系?

  • 提前感谢…

    您的问题会得到基于意见的答案,这通常是正确的。考虑一下。

    我将尝试给你至少一些答案。你应该:

  • 考虑选择您的测试框架。差不多
  • 考虑一下测试的体系结构。您的一些“测试”作为单独的方法可能会更好,您可以从测试中调用这些方法。考虑使用.
  • public class BaseSeleniumTest extends SeleneseTestBase {
        protected static WebDriver driver;
        @BeforeSuite
        public static void firefoxSetUp() throws MalformedURLException {
            driver = new FirefoxDriver();
            driver.manage().window().maximize();
        }
    
        @AfterSuite
        public static void closeFirefox(){
           driver.quit();
        }
    }//End BaseSeleniumTest Class.
    
    public class LogInTest extends BaseSeleniumTest {
        LogInPage page;
        public static final String BASE_URL = "http://www.mywebsite.com";
    
        @BeforeMethod
        public void beforeMethod() {
            page = PageFactory.initElements(driver, LogInPage.class);
            page.openPage(BASE_URL);
        }
    
        @Test(dataProvider="loginData",groups="loginGroup")
        public void logIn(String email,String password) {
            page.logInAs(email, password);
        }
    
        @DataProvider(name = "loginData")
        public Object[][] getData() {
            return new Object[][] { { "username", "password" } };
        }
    }//End of LogInTest Class.
    
    public class AddGroupTest extends BaseSeleniumTest {
        AddGroupPage addGroupPage;
          @BeforeMethod
          public void openAddGroupPage() {
              addGroupPage = PageFactory.initElements(driver, AddGroupPage.class);
              addGroupPage.openPage();
          }
    
        @Test(dataProvider = "getCSVData",dataProviderClass=AddGroupsDataProvider.class,dependsOnGroups={"loginGroup"},groups="addGroup")
        public void AddGroup(String groupName,String displayName,String description) {
                addGroupPage.addGroup(groupName, displayName, description);
                driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        }
    }//End of AddGroupTest Class.
    
    public class AddLocationTest extends BaseSeleniumTest {
        AddLocationPage addLocationPage;
        @BeforeMethod
          public void openAddLocationPage() {
              addLocationPage = PageFactory.initElements(driver, AddLocationPage.class);
              addLocationPage.openPage();
         }
    
        @Test(dataProvider = "getCSVData", dataProviderClass = AddLocationDataProvider.class, dependsOnGroups = { "loginGroup" }, groups = "addLocation")
        public void addLocation(String locationName, String displayName,
                String description, String groups) {
            addLocationPage.addLocation(locationName, displayName, description,
                    groups.split(","));
        }
    }