Retrieving the value from a Selenium Webdriver Web

2019-07-24 03:25发布

Firstly, forgive the beginner question. I'm a relative newcomer to both Java and Selenium Webdriver.

I am learning Webdriver through trying to test a CMS application. The CMS has the concept of creating articles and sending them through a workflow. So, an editor might create an article and send through to a SuperUser. So, I am creating an article as an editor and am populating the 'Title' field by using sendKeys text and appending the date of creation:

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());

What I want to do is pass the String value of the created Title into a variable that I can then retrieve in the class of the SuperUser (via a Get method).

public class EditArticleSuperUser {

    EditorArticleCreator.getArticleName();

}

This way, I hope that when I have WebDriver login as the SuperUser, they will pick the correct article as the full String will be stored in the articleName field.

Is this the best way? How would I get the String value from the driver.findElement?

2条回答
Fickle 薄情
2楼-- · 2019-07-24 03:43

You could use getAttribute to get the value attribute of the text input:

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

Or MrTi's suggestion of articleTitleField.getText() would work too!

查看更多
走好不送
3楼-- · 2019-07-24 03:59

Why not store your title in a String variable articleName first, and then use driver.findElement(By.cssSelector("#Article_Title")).sendKeys(articleName) to populate the name of the Article's Title. Then reference this articleName variable later when you want to verify it was posted appropriately.

查看更多
登录 后发表回答