2016-11-07 40 views
2

我正在使用量角器测试非角度js网站。browser.wait在测量非角度js网站时无法在量角器中工作

我的测试案例运行成功,但我想删除睡眠语句,并添加等待或预期的条件,我的测试案例。

我的代码如下:

var co = require('co'); 
var path = require('path'); 

describe("TEST ", function() { 

    it("test", co.wrap(function*() { 
     browser.ignoreSynchronization = true; 
     var EC = protractor.ExpectedConditions; 
     yield browser.get('URL'); 
     browser.wait(function() { 
      return browser.driver.isElementPresent(by.css(a[href = "#login"])); 
     }, 30000); 
     var elmOK = browser.driver.findElement(by.css('a[href="#login"]')); 
     yield elmOK.click(); 
     expect(browser.getCurrentUrl()).toContain("login"); 
     yield browser.switchTo().frame('here-account-sdk').then(function() { 
      browser.driver.findElement(by.id('sign-in-email')).sendKeys("[email protected]"); 
      browser.driver.findElement(by.id('sign-in-password-encrypted')).sendKeys("voting123"); 
      browser.driver.findElement(by.xpath(' //*[@id="sign-in-form"]/div[2]/div[6]/form/fieldset[3]/button')).click(); 

     }); 
     // browser.sleep(5000); 
     var elmOK = browser.driver.findElement(by.xpath('//*[@id="lnav"]/li[3]/a')); 
     yield elmOK.click(); 
     // browser.sleep(1500); 
     browser.driver.findElement(by.xpath('//*[@id="administration"]/div/div[1]/select/option[2]')).click(); 
     // browser.sleep(5000); 

     browser.driver.findElement(by.xpath('//*[@id="administration"]/div/div[2]/table/tbody/tr[1]/td[10]/span')).click(); 
     //  browser.sleep(5000); 

     browser.driver.findElement(by.xpath('//*[@id="content"]/div/div[2]/div/div/div/div[3]/button[1]')).click(); 
     // browser.sleep(5000); 
    })); 




}); 

当我尝试运行我的测试,我得到以下错误。我不知道如何解决它。

---------------- Spec started: ----------------                        
F[13:57:01] E/launcher - Cannot read property '_failures' of undefined                            
[13:57:01] E/launcher - TypeError: Cannot read property '_failures' of undefined                         
    at null.self.specDone (C:\Users\jasharma\gitrepo\supplier-portal\node_modules\jasmine-reporters\src\junit_reporter.js:274:46)             
    at dispatch (C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1966:28)         
    at ReportDispatcher.specDone (C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1949:11)     
    at Spec.specResultCallback [as resultCallback] (C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:903:18) 

    at complete (C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:368:12)         
    at QueueRunner.clearStack (C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:660:9)      
    at QueueRunner.run (C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1881:12)       
    at C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1898:16            
    at C:\Users\jasharma\gitrepo\supplier-portal\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1842:9            
    at C:\Users\jasharma\gitrepo\supplier-portal\node_modules\jasminewd2\index.js:18:5                        
[13:57:01] E/launcher - Process exited with error code 199                               

请帮忙?

+0

你想使用参数'_failures'读取conf.js文件中的spec结果吗? –

+0

看看我的回应在这里http://stackoverflow.com/questions/40583699/want-to-remove-browser-sleep/40598970#40598970 – mvndaai

回答

0

是这样的:

yield browser.switchTo().frame('here-account-sdk').then(function() { 
     browser.driver.findElement(by.id('sign-in-email')).sendKeys("[email protected]"); 
     browser.driver.findElement(by.id('sign-in-password-encrypted')).sendKeys("voting123"); 
     browser.driver.findElement(by.xpath(' //*[@id="sign-in-form"]/div[2]/div[6]/form/fieldset[3]/button')).click(); 

    }); 

的唯一部分,你必须是没有棱角相关?如果是这样,请尝试在var elmOK = browser.driver.findElement(by.xpath('//*[@id="lnav"]/li[3]/a'));之前添加browser.switchTo().defaultContent();

+0

嗨@diegovmellet我输入的网站是非角js – Jatin

相关问题