如何使用Selenium验证css类中的文本?

时间:2015-06-19 16:10:29

标签: css selenium-webdriver

我正在使用Selenium来自动化应用创建测试。测试包括填写网页上的字段并单击提交按钮。完成后,新页面将加载一个表示成功或失败的警报。对我来说问题是,警报在css类中编码如下:

<div class="alert-box notice">
     Successfully created application
    <a href="" class="close">×</a>
</div>

我需要做的就是验证“成功创建的应用程序”文本是否存在。我不需要操纵任何东西。

2 个答案:

答案 0 :(得分:0)

我不确定你在做什么语言,但基本上,你需要在包含div中获取文本。

所以,例如,

driver.findElement(By.cssSelector(".alert-box.notice")).getText()

答案 1 :(得分:0)

经过与同行的讨论和在线研究之后,我找到了解决方案。

起初我尝试根据Nathan的建议捕获文本,但决定将结果存储为字符串。

String happy = driver.findElement(By.className("alert-box notice")).getText();
assertEquals(true, happy.contains("Successfully"));

问题在于我不断收到错误,例如“org.openqa.selenium.InvalidSelectorException:给定的选择器警告框通知无效或不会导致WebElement。发生以下错误: InvalidSelectorError:不允许使用复合类名“

由于我无法控制类名,因此我按照以下方式进行了xpath路径:

String happy = driver.findElement(By.xpath("html/body/div/div[2]/div/div/div/div[3]/div")).getText();
assertEquals(true, happy.contains("Successfully"));

此版本正确运行,我可以验证警报消息。