我正在使用带有Javascript的Cucumber和量角器进行自动化测试。我需要测试是否存在页面上的块标题,但我也有其他类名为“标题”。此字段是编辑性的,因此可以突然更改文本。我该如何正确地使用这个元素? PS:如果有人有想法或者可以告诉我为什么console.log永远不会在我的项目上工作,那将会很感激。谢谢!
这是我的hmtl代码:
<div class="titleH1">
<div class="title-component">
<div class="inner-container">
::before
<span class="icon"> //this element has child. But here is closed
<h1 class="title">Title</h1>
(...)
感谢您的帮助!
答案 0 :(得分:0)
而不是使用
$('h1.title')
你可以使用
$('div.titleH1 div.title-component div.inner-container h1.title')
这更具体。
console.log()
的问题通常是由于javascript的异步性质造成的。使用.then()
可能会解决这个问题。 EX:
$('element').getText().then(function(value) {
console.log(value);
});
这是关于.then()
的有用article。
答案 1 :(得分:0)
element(by.xpath("//div[@class='title-component']//h1[text()='Title A']")).isDisplayed();
// change `Title A` to the one you want to find