2

首先,原谅初学者的问题。我是 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();

}

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

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

4

2 回答 2

1

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

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

或者 MrTi 对 articleTitleField.getText() 的建议也可以!

于 2013-11-05T21:48:09.170 回答
0

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

于 2013-11-05T19:55:02.383 回答