我正在使用Selenium来自动化应用创建测试。测试包括填写网页上的字段并单击提交按钮。完成后,新页面将加载一个表示成功或失败的警报。对我来说问题是,警报在css类中编码如下:
<div class="alert-box notice">
Successfully created application
<a href="" class="close">×</a>
</div>
我需要做的就是验证“成功创建的应用程序”文本是否存在。我不需要操纵任何东西。
答案 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"));
此版本正确运行,我可以验证警报消息。