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?
解决方案
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!
博客围绕Java和Selenium Webdriver展开,讲述在测试CMS应用时,编辑创建文章并填充标题字段,想将创建标题的字符串值传递给变量,供超级用户类获取。还给出解决方案,可使用getAttribute获取文本输入的值属性,或用getText方法。
1087

被折叠的 条评论
为什么被折叠?



