我想在设置方法中使用硒执行多用户登录操作,我不使用testng.xml,我仅使用maven pom.xml

问题描述 投票:0回答:1

这是我的代码,我只尝试过一种类型的用户登录

@BeforeMethod
    public void setUp(){

        log.info("Setting up test");
        prop = new Properties();
        prop.load(new FileInputStream(new File(loginFile)));

        verificationErrors = new StringBuffer();
log.info("Running Firefox Driver");

        System.setProperty("webdriver.gecko.driver", GECKO_DRIVER_PATH);
 driver.manage().deleteAllCookies();
        baseUrl = getSeleniumTarget();
        driver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(80, TimeUnit.SECONDS);
        driver.manage().window().setPosition(new Point(0, 0));
        driver.manage().window().maximize();

        WebDriverThreadLocal.setWebDriver(driver);

        login("manageuser");
}

protected void login(String username) {
        LoginPage page = PageFactory.initElements(driver, LoginPage.class);

        log.info("Loging in");
        driver.get(baseUrl + prop.getProperty("login.customerportal"));
        page.setUsername(prop.getProperty(username + ".username"));
        page.setPassword(prop.getProperty(username + ".password"));
        page.clickLoginButton();

如果我想在设置方法中使用多种类型的用户登录,是否可以,如果可以,如何?

如果要在设置方法中使用员工登录,该怎么办?

java selenium pom.xml
1个回答
0
投票

您需要实例化多个WebDriver实例,并为每个实例重复所有配置代码。因此,为不同的驱动程序调用登录步骤,您将模拟多个用户登录。

您可能在定义驱动程序时使用List<WebDriver> drivers而不是WebDriver driver

您还可以使用login(WebDriver driver, String username)之类的东西,并执行类似的事情:

for(WebDriver driver: drivers){
    login(driver, userNameThatYouHaveTakenFromSomewhere)
}
© www.soinside.com 2019 - 2024. All rights reserved.