在使用 angularjs 的 selenium 服务器的量角器中做一些事后描述

Posted

技术标签:

【中文标题】在使用 angularjs 的 selenium 服务器的量角器中做一些事后描述【英文标题】:Doing something aftereach describe in protractor with selenium server with angularjs 【发布时间】:2015-02-09 12:04:54 【问题描述】:

我想在每个描述之后(而不是在每个测试用例之后)和每个描述之前做一些事情,有没有办法做到这一点?我尝试过以下格式,但它给我的错误是,在未定义之前和之后,是否可以在每个描述之前和之后执行一些任务:

describe('testcase', function () 
    before(function () 
        --------------
    )
    beforeEach(function () 
       -----------------
    )
    afterEach(function () 
        --------------
    )
    after(function () 
        -----------------
    )
    it('task1', function () 
             -----------

    )it('task2', function () 
                  ------------------
    )
)

【问题讨论】:

【参考方案1】:

据我了解,您想要beforeAll and afterAll 中介绍的jasmine 2.1

beforeAll 函数在所有规范之前只被调用一次 describe 运行,并且在所有规范之后调用 afterAll 函数 结束。这些功能可用于加速测试套件 昂贵的设置和拆卸。

对于旧的jasmine 版本,同样可以在jasmine-beforeAll package 的帮助下完成。

【讨论】:

嗨 alecxe,我正在使用“版本”的 jasmine:“2.0.4”,因此我使用 sudo npm install jasmine-beforeall 安装了 jasmine-beforeall,它已安装并且它的版本是“ 0.1.1",但后来我使用了 beforeAll(function () console.log("Top Before All"); ); afterAll(function () console.log("Top after all"); );,但它给了我错误 ReferenceError: beforeAll is not defined,我需要做哪些其他更改,规范中是否有任何其他更改或conf文件..请帮助 @RajitGarg 如果您在测试顶部添加require('jasmine-beforeall'); 会怎样? 我现在已经安装了新版本的jasmine "version": "2.1.1" 仍然发现同样的错误,beforeAll未定义,请指教... 谢谢 alecxe ,现在可以通过 require('jasmine-beforeall');

以上是关于在使用 angularjs 的 selenium 服务器的量角器中做一些事后描述的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Python / Selenium webdriver 处理 Angularjs / Javascript 下拉列表?

Selenium - 从 angularjs 组件中选择一个输入

更新到 Angular 2 后,无法在 Firefox 上通过 Protractor 运行 Selenium

通过 selenium 进行浏览器性能测试

量角器和Selenium之间的技术差异

WebApp的自动测试工具: protractor和selenium