javascript - 如何使用 Protractor 测试比较具有 getSize() 函数的元素的宽度和高度?

标签 javascript selenium selenium-webdriver jasmine protractor

早上好亲爱的同事们。 我对 Selenium 方法有疑问。 在我的例子中,我正在使用 Protractor 测试 Angular 应用程序,我想将 getSize 函数的返回值与我的测试中的设置值进行比较。这是下面的代码-

var searchForm = element(by.id('search'));

 it('searchForm must have width: 400px and height: 400px', function(){
  //expect(browser.driver.manager().window().getSize()).toEqual(400, 400);
  searchForm.getSize();
  searchForm.width.toEqual(400);
  searchForm.height.toEqual(400);

});

麻烦帮我解决一下。我希望你能帮助我。

最佳答案

Protractor getSize() 函数返回一个包含指定元素的 width、height、hcode 和 class 的维度对象的 promise 。等到 promise 被返回,然后 resolve promise 以获取元素的尺寸。方法如下 -

 it('searchForm must have width: 400px and height: 400px', function(){
    var searchForm = element(by.id('search'));
    searchForm.getSize().then(function(eleSize){
        console.log('element size: '+eleSize); //eleSize is the element's size object
        expect(eleSize.width).toEqual(400);
        expect(eleSize.height).toEqual(400);
    });
});

此外,不建议使用 jasmine 在自动化中编写规范 it 之外的任何内容。希望对您有所帮助。

关于javascript - 如何使用 Protractor 测试比较具有 getSize() 函数的元素的宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964939/

相关文章:

javascript - 在 AngularJS 中提交表单后更新表格

php webdriver - 等待警报而不终止测试用例

java - NG 和 JUnit 框架的区别??哪个最适合使用 Selenium Web 驱动程序进行测试

python - 如何使用 Python 从 Selenium 的重定向链中获取中间 URL?

javascript - 使用vue.router重定向到绝对路径

javascript - 这段 Javascript 代码中的 "This"指的是什么?

javascript - 是否可以在 JavaScript 中有条件地赋值?

python - 如果打开现有的 Chrome 窗口,使用默认选项的 Selenium Webdriver 永远不会返回

xml - 包含 "xmlns"属性时,Selenium 找不到 Xpath

javascript - Safari13 webdriverio点击问题