Page 300 - AngularJS权威教程
P. 300

280  第 19 章  测试


                     因为是在做端对端测试,我们需要有一个服务器来让端对端测试在上面运行。

                 describe('E2E: main page', function() {
                     var ptor;

                     beforeEach(function() {
                         browser.get('http://127.0.0.1:9000/');
                         ptor = protractor.getInstance();
                     });

                 });
                 不是每次要测试一个页面,都要把测试指向完整路径,可以在Protractor配置文件里面设置
             baseUrl。对于本节的剩余部分,我们默认这个选项被设置成这样:

                 baseUrl: 'http://127.0.0.1:9000/',
                 我们第一个测试会简单地测试主页加载:可以测试页面上存在某个元素。既然主页包含了一
             个ID #home,可以编写一个期望来保证这个条件。
                 首先使用by.id()函数来找到我们关注的元素,用#main ID来定位这个<div>:

                 it('should load the home page', function() {
                     var ele = by.id('home');
                 });
                 有了这个元素以后,就可以使用Protractor的实例方法isElementPresent()来设置一个预期:
             元素在页面上。

                 it('should load the home page', function() {
                     var ele = by.id('home');
                     expect(browser.isElementPresent(ele)).toBe(true);
                 });
                 要运行我们的测试,需要启动一个Selenium服务器。幸好,Protractor通过一个叫做
             webdriver-manager的内置工具把这个过程变得很容易。这个管理器默认就被包含在内了(正如
             我们在上面看到的)。我们来启动webdriver-manager:

                 $ ./node_modules/protractor/bin/webdriver-manager start
                 在一个新的shell里,我们要启动Protractor来真正运行我们的测试。分度器二进制文件带单个
             参数:配置文件。运行过程如图19-11所示。

                 $ ./node_modules/protractor/bin/protractor protractor_conf.js














                                               图19-11  运行过程
   295   296   297   298   299   300   301   302   303   304   305