繁体   English   中英

从Selenium Webdriver WebElement字段中检索值并将其传递给Java变量

[英]Retrieving the value from a Selenium Webdriver WebElement field and passing it to a java variable

首先,请原谅初学者的问题。 我是Java和Selenium Webdriver的相对新手。

我正在通过尝试测试CMS应用程序来学习Webdriver。 CMS具有创建文章并通过工作流发送文章的概念。 因此,编辑者可以创建文章并将其发送给超级用户。 因此,我将创建一个文章作为编辑器,并使用sendKeys文本并添加创建日期来填充“标题”字段:

public class EditorArticleCreator {

    private static WebDriver driver;
    private static String baseURL = TestEnv.getUrl();
    static WebDriverWait wait;
    Date date = new Date();
    static String articleName;

    public static String getArticleName(){
        return articleName;
    }

//some code and then:

driver.findElement(By.cssSelector("#Article_Title")).sendKeys("New_Article_" + date.toString());

我想做的是将创建的Title的String值传递到一个变量中,然后可以在SuperUser的类中检索该变量(通过Get方法)。

public class EditArticleSuperUser {

    EditorArticleCreator.getArticleName();

}

这样,我希望当我以SuperUser身份登录WebDriver时,他们将选择正确的文章,因为完整的String将存储在articleName字段中。

这是最好的方法吗? 我如何从driver.findElement获取String值?

您可以使用getAttribute来获取文本输入的value属性:

WebElement articleTitleField = driver.findElement(By.cssSelector("#Article_Title"));
articleTitleField.sendKeys("New_Article_" + date.toString());
articleName = articleTitleField.getAttribute("value");

或者MrTi的对articleTitleField.getText()的建议也会起作用!

为什么不articleName标题存储在String变量articleName ,然后使用driver.findElement(By.cssSelector("#Article_Title")).sendKeys(articleName)来填充文章标题的名称。 然后,当您想验证它是否已正确发布时,请引用此articleName变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM