【问题标题】:Is there any better alternative to Protractor/XPath in AngularJS testing?在 AngularJS 测试中是否有比 Protractor/XPath 更好的替代方法?
【发布时间】:2016-07-12 23:03:56
【问题描述】:

我正在使用 Protractor 进行 AngularJS 测试,而使用 XPath 会使测试变得非常缓慢。此外,它有时会显示无法找到 XPath 的错误,但如果我再次运行它就可以正常工作。

【问题讨论】:

    标签: angularjs xml xpath web-applications protractor


    【解决方案1】:

    是的,当你在正常情况下使用量角器时,你有比 xpath 更好的选择。

    你可以通过模型,绑定等选择元素,这是一种正确的方式

    喜欢

    mypage.po.js 文件中:

    var MyPagePO = function () {
    
        this.title = element(by.binding('some.title'));
    
        this.emailInput = element(by.model('some.email')); 
    };
    
    module.exports = MyPagePO;
    

    mypage.spec.js:

    var MyPagePO = require('mypage.po.js');
    
    describe('Login Page Tests.', function () {
        var myPagePO = new MyPagePO();
    
        beforeEach(function () {
            //...
        });
    
        it('Some case.', function () {
            expect(myPagePO.emailInput.getText()).toBe('some');
            expect(myPagePO.title.getText()).toBe('some');
        });
    });
    

    看看this article,它很有帮助(而且很容易理解)。

    看看how to debug protractor's test

    【讨论】:

    • 感谢您提供的信息。我已经在我正在测试的 Web 应用程序的简单页面上完成了此操作,但是当我移动到复杂页面时变得很困难。我是测试新手,所以,阅读更多关于如何以上述方式详细提取元素的信息会有所帮助吗?
    【解决方案2】:

    如果您遇到 xpath 只能间歇性工作的问题,可能是由于您的 xpath 不够健壮。 http://scraping.pro/res/xpath-cheat/xpath_css_dom_recipes.pdf 是我在使用 xpaths 时使用的非常有用的备忘单。

    【讨论】:

      猜你喜欢
      • 2016-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多