Ember:Selenium的最佳实践,在浏览器中进行集成测试



您是否有任何经验/示例与ember.js进行硒测试?

我不能"抓住"视图(我使用路由器),因为它们没有确定性的ID。

有什么想法?

您可以显式设置自己的ID以供视图元素。直接来自以下车把:

{{#view Ember.TextField elementId="my_id"}}

或从您的视图对象:

MyApp.MyView = Ember.View.Extend({
  elemntId: "my_id"
});

emberjs生成/分配id属性的动态值,示例, ember32ember33ember34等。在这些情况下找到/单击元素。例如,考虑以下元素:

<input placeholder="" id="ember32" class="ssRegistrationField ssEmailTextboxField ember-text-field ember-view" type="email">

id属性值的值每次访问 aut(正在测试的应用程序)时,CC_6属性的值都会继续动态变化。因此,要进行交互/单击这些元素,解决方案是构建 Dynamic 定位器策略,诱导WebDriverWait与预期的条件不一致为visibilityOfElementLocated(),如下所示:

  • cssSelector

    new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.ssRegistrationField.ssEmailTextboxField.ember-text-field.ember-view[id^='ember']"))).click();
    
  • xpath

    new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[starts-with(@id, 'ember') and @class='ssRegistrationField ssEmailTextboxField ember-text-field ember-view']"))).click();
    

相关内容

  • 没有找到相关文章

最新更新