【问题标题】:Protractor - Only the visible table columns are fetched by the getText()量角器 - getText() 仅获取可见表列
【发布时间】:2014-12-08 21:37:15
【问题描述】:

我有一个应用程序,当用户执行搜索时,它会以表格格式显示搜索结果。搜索结果大约有 15 列以上。为此,我有一个 UI 测试用例,旨在使用以下内容获取每个列标题:

var resultColumns = "//div[contains(@ng-grid,'searchResult')]//div[contains(@class,'ngHeaderCell')]//div[contains(@class,'HeaderText')]";
var allResultColumnsText = function() {
return element.all(by.xpath(resultColumns)).getText();
};
expect(allResultColumnsText()).toEqual("[matching text]");

我希望这个代码能够获取表的所有列,但我注意到只有根据浏览器窗口大小可在页面上显示的值被获取。例如,如果在运行测试时浏览器中最多只显示 5 列,那么上面的测试代码只会获取这 5 列标题。

我认为 AngularJS 会动态填充 DOM 以仅包含可以显示的列。有没有办法使用量角器中的某些功能获取所有列,而不仅仅是屏幕上可见的列?

【问题讨论】:

    标签: angularjs protractor visible


    【解决方案1】:

    Protractor 是一个 e2e 测试框架,它只适用于用户可以看到的元素(这很有意义)。

    -您可以制定 css 以使您的应用更具响应性。

    -我认为另一种选择是,能够选择用户在浏览器中不可见的 dom 元素是在您的测试用例中包含 Jquery(jquery 选择器直接与 DOM 一起使用):

      var $ = require('your/path/to/jquery/jquery.js');
    

    要在 Jquery 中使用 xpath,请查看 this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多