2015-06-03 20 views
0

我想要操作的if语句2可能的动态情况,不能添加里面的“它”块“如果”语句茉莉花JS脚本

而且我要为了我分开“它”块通过我的HTML Reporter保持捕获当前屏幕。

所以我唯一可能的选择是这种情况是操纵if语句块的流量。

代码:

describe('LiveSite Portal - Existing client send new message', function() { 

    var msgBtn = element(by.xpath("//div[@class='actions-row']//a[.='Leave Your Details']")); 
    var EC = protractor.ExpectedConditions; 

    it('LiveSite - Home Page', function() { 
     liveSiteHome(); 
    }); 

    if (msgBtn.isPresent() === true) { 

     it('LiveSite Portal - Existing client send new message - Message form', function() { 
      browser.wait(EC.visibilityOf(msgBtn), 10000); 
      element(msgBtn).click(); 
      waitPageToLoad(); 
      expect(element(by.id("new_client_message_message")).isPresent()).toBe(true); 
      element(by.css("div.row.mandatory > div.area")).click(); 
      element(by.id("new_client_message_title")).sendKeys("Automation message"); 
      element(by.id("new_client_message_message")).sendKeys("I am not logged-in client. Please call me."); 
      element(by.id("new_client_message_email")).sendKeys("[email protected]"); 
     }); 

     it('LiveSite Portal - Existing client send new message - Welcome back for existing client', function() { 
      element(by.id("new_client_message_first_name")).click(); 
      browser.wait(EC.visibilityOf(element(by.css("span.welcome-back"))), 10000); 
      expect(element(by.css("span.welcome-back")).isPresent()).toBe(true); 
     }); 

     it('LiveSite Portal - Existing client send new message - Messeage Sent', function() { 
      element(by.name("commit")).click(); 
      waitPageToLoad(); 
      expect(element(by.css(".final-container")).isPresent()).toBe(true); 
     }); 

     it('LiveSite Portal - Existing client send new message - Back to home page', function() { 
      element(by.css(".standard-button")).click(); 
      expect(element(by.model("email")).isPresent()).toBe(true); 
      browser.driver.sleep(2000); 
     }); 

    } else { 

     it('LiveSite Portal - Send new message from the text box - Text Area', function() { 
      // expect(element(msgBox.isPresent()).toBe(true); 
      element(by.xpath("//div[@id='main_container']/main/div/div/section/div[2]/div/div[2]/footer/form/div[2]/textarea")).sendKeys("Hello!\nHow are you?\nHave a good day! :)"); 
     }); 

     it('LiveSite Portal - Send new message from the text box - Message has been sent', function() { 
      element(by.xpath("//div[@id='main_container']//button[.='Send']")).click(); 
      browser.wait(EC.visibilityOf(element(by.xpath("//div[@id='main_container']//h2[.='Quick conversation']"))), 10000); 
      browser.driver.sleep(2000); 
     }); 
     } 
}); 

错误:

c:\automation\tests>protractor conf.js 
Using the selenium server at http://localhost:4444/wd/hub 
[launcher] Running 1 instances of WebDriver 
LiveSite Portal - Existing client send new message 
    LiveSite - Home Page - pass 
    LiveSite Portal - Send new message from the text box - Text Area - fail 
    LiveSite Portal - Send new message from the text box - Message has been sent - 
fail 


Failures: 

    1) LiveSite Portal - Existing client send new message LiveSite Portal - Send n 
ew message from the text box - Text Area 
    Message: 
    ElementNotVisibleError: element not visible 
    (Session info: chrome=43.0.2357.81) 
    (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9 
cf),platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any sta 
cktrace information) 
Command duration or timeout: 31 milliseconds 
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' 
System info: host: 'vCitaQA', ip: '192.168.56.1', os.name: 'Windows 8.1', os.arc 
h: 'amd64', os.version: '6.3', java.version: '1.8.0_25' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEn 
abled=false, chrome={userDataDir=C:\Users\idan\AppData\Local\Temp\scoped_dir1204 
_19371}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, vers 
ion=43.0.2357.81, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents= 
true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, 
browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEn 
abled=true}] 
Session ID: 13c4f345d191f957a186dcefef2e9703 
    Stacktrace: 
    ElementNotVisibleError: element not visible 
    (Session info: chrome=43.0.2357.81) 
    (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9 
cf),platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any sta 
cktrace information) 
Command duration or timeout: 31 milliseconds 
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' 
System info: host: 'vCitaQA', ip: '192.168.56.1', os.name: 'Windows 8.1', os.arc 
h: 'amd64', os.version: '6.3', java.version: '1.8.0_25' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEn 
abled=false, chrome={userDataDir=C:\Users\idan\AppData\Local\Temp\scoped_dir1204 
_19371}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, vers 
ion=43.0.2357.81, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents= 
true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, 
browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEn 
abled=true}] 
Session ID: 13c4f345d191f957a186dcefef2e9703 
    at new bot.Error (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\ 
node_modules\selenium-webdriver\lib\atoms\error.js:113:18) 
    at Object.bot.response.checkResponse (C:\Users\idan\AppData\Roaming\npm\node 
_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:106:9) 

    at C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\se 
lenium-webdriver\lib\webdriver\webdriver.js:377:20 
    at [object Object].promise.ControlFlow.runInFrame_ (C:\Users\idan\AppData\Ro 
aming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\ 
promise.js:1877:20) 
    at [object Object].promise.Callback_.goog.defineClass.notify (C:\Users\idan\ 
AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\ 
webdriver\promise.js:2464:25) 
    at [object Object].promise.Promise.notify_ (C:\Users\idan\AppData\Roaming\np 
m\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise. 
js:563:12) 
    at Array.forEach (native) 
    at Object.goog.array.forEach (C:\Users\idan\AppData\Roaming\npm\node_modules 
\protractor\node_modules\selenium-webdriver\lib\goog\array\array.js:203:43) 
    at [object Object].promise.Promise.notifyAll_ (C:\Users\idan\AppData\Roaming 
\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promi 
se.js:552:16) 
    at goog.async.run.processWorkQueue (C:\Users\idan\AppData\Roaming\npm\node_m 
odules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:125:21) 
Error 
    at [object Object].ElementArrayFinder.applyAction_ (C:\Users\idan\AppData\Ro 
aming\npm\node_modules\protractor\lib\element.js:403:21) 
    at [object Object].self.(anonymous function) [as sendKeys] (C:\Users\idan\Ap 
pData\Roaming\npm\node_modules\protractor\lib\element.js:76:19) 
    at [object Object].self.(anonymous function) [as sendKeys] (C:\Users\idan\Ap 
pData\Roaming\npm\node_modules\protractor\lib\element.js:733:11) 
    at [object Object].<anonymous> (c:\automation\tests\message.js:45:127) 
    at C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\ja 
sminewd\index.js:94:14 
    at [object Object].promise.ControlFlow.runInFrame_ (C:\Users\idan\AppData\Ro 
aming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\ 
promise.js:1877:20) 
    at [object Object].promise.ControlFlow.runEventLoop_ (C:\Users\idan\AppData\ 
Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdrive 
r\promise.js:1755:8) 
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul 
es\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:2056:12) 
    at goog.async.run.processWorkQueue (C:\Users\idan\AppData\Roaming\npm\node_m 
odules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:125:21) 
    at runMicrotasksCallback (node.js:337:7) 
From: Task: Asynchronous test function: it() 
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul 
es\protractor\node_modules\jasminewd\index.js:93:33) 
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul 
es\protractor\node_modules\minijasminenode\lib\async-callback.js:45:37) 
    at [object Object].jasmine.Block.execute (C:\Users\idan\AppData\Roaming\npm\ 
node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:1174:1 
7) 
    at [object Object].jasmine.Queue.next_ (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2209:31) 

    at [object Object].jasmine.Queue.start (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2162:8) 
    at [object Object].jasmine.Spec.execute (C:\Users\idan\AppData\Roaming\npm\n 
ode_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2503:14 
) 
    at [object Object].jasmine.Queue.next_ (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2209:31) 

    at onComplete (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\nod 
e_modules\minijasminenode\lib\jasmine-1.3.1.js:2205:18) 
    at [object Object].jasmine.Spec.finish (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2477:5) 
    at [object Object].onComplete (C:\Users\idan\AppData\Roaming\npm\node_module 
s\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2504:10)==== asyn 
c task ==== 
Error 
    at [object Object].<anonymous> (c:\automation\tests\message.js:43:9) 
    at [object Object].jasmine.Env.describe_ (C:\Users\idan\AppData\Roaming\npm\ 
node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:913:21 
) 
    at [object Object].jasmine.Env.describe (C:\Users\idan\AppData\Roaming\npm\n 
ode_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:898:15) 

    at describe (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_ 
modules\minijasminenode\lib\jasmine-1.3.1.js:658:27) 
    at Object.<anonymous> (c:\automation\tests\message.js:1:63) 

    2) LiveSite Portal - Existing client send new message LiveSite Portal - Send n 
ew message from the text box - Message has been sent 
    Message: 
    ElementNotVisibleError: element not visible 
    (Session info: chrome=43.0.2357.81) 
    (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9 
cf),platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any sta 
cktrace information) 
Command duration or timeout: 22 milliseconds 
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' 
System info: host: 'vCitaQA', ip: '192.168.56.1', os.name: 'Windows 8.1', os.arc 
h: 'amd64', os.version: '6.3', java.version: '1.8.0_25' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEn 
abled=false, chrome={userDataDir=C:\Users\idan\AppData\Local\Temp\scoped_dir1204 
_19371}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, vers 
ion=43.0.2357.81, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents= 
true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, 
browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEn 
abled=true}] 
Session ID: 13c4f345d191f957a186dcefef2e9703 
    Stacktrace: 
    ElementNotVisibleError: element not visible 
    (Session info: chrome=43.0.2357.81) 
    (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9 
cf),platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any sta 
cktrace information) 
Command duration or timeout: 22 milliseconds 
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' 
System info: host: 'vCitaQA', ip: '192.168.56.1', os.name: 'Windows 8.1', os.arc 
h: 'amd64', os.version: '6.3', java.version: '1.8.0_25' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEn 
abled=false, chrome={userDataDir=C:\Users\idan\AppData\Local\Temp\scoped_dir1204 
_19371}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, vers 
ion=43.0.2357.81, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents= 
true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, 
browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEn 
abled=true}] 
Session ID: 13c4f345d191f957a186dcefef2e9703 
    at new bot.Error (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\ 
node_modules\selenium-webdriver\lib\atoms\error.js:113:18) 
    at Object.bot.response.checkResponse (C:\Users\idan\AppData\Roaming\npm\node 
_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:106:9) 

    at C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\se 
lenium-webdriver\lib\webdriver\webdriver.js:377:20 
    at [object Object].promise.ControlFlow.runInFrame_ (C:\Users\idan\AppData\Ro 
aming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\ 
promise.js:1877:20) 
    at [object Object].promise.Callback_.goog.defineClass.notify (C:\Users\idan\ 
AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\ 
webdriver\promise.js:2464:25) 
    at [object Object].promise.Promise.notify_ (C:\Users\idan\AppData\Roaming\np 
m\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise. 
js:563:12) 
    at Array.forEach (native) 
    at Object.goog.array.forEach (C:\Users\idan\AppData\Roaming\npm\node_modules 
\protractor\node_modules\selenium-webdriver\lib\goog\array\array.js:203:43) 
    at [object Object].promise.Promise.notifyAll_ (C:\Users\idan\AppData\Roaming 
\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promi 
se.js:552:16) 
    at goog.async.run.processWorkQueue (C:\Users\idan\AppData\Roaming\npm\node_m 
odules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:125:21) 
Error 
    at [object Object].ElementArrayFinder.applyAction_ (C:\Users\idan\AppData\Ro 
aming\npm\node_modules\protractor\lib\element.js:403:21) 
    at [object Object].self.(anonymous function) [as click] (C:\Users\idan\AppDa 
ta\Roaming\npm\node_modules\protractor\lib\element.js:76:19) 
    at [object Object].self.(anonymous function) [as click] (C:\Users\idan\AppDa 
ta\Roaming\npm\node_modules\protractor\lib\element.js:733:11) 
    at [object Object].<anonymous> (c:\automation\tests\message.js:49:78) 
    at C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\ja 
sminewd\index.js:94:14 
    at [object Object].promise.ControlFlow.runInFrame_ (C:\Users\idan\AppData\Ro 
aming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\ 
promise.js:1877:20) 
    at [object Object].promise.ControlFlow.runEventLoop_ (C:\Users\idan\AppData\ 
Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdrive 
r\promise.js:1755:8) 
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul 
es\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:2056:12) 
    at goog.async.run.processWorkQueue (C:\Users\idan\AppData\Roaming\npm\node_m 
odules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:125:21) 
    at runMicrotasksCallback (node.js:337:7) 
From: Task: Asynchronous test function: it() 
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul 
es\protractor\node_modules\jasminewd\index.js:93:33) 
    at [object Object].<anonymous> (C:\Users\idan\AppData\Roaming\npm\node_modul 
es\protractor\node_modules\minijasminenode\lib\async-callback.js:45:37) 
    at [object Object].jasmine.Block.execute (C:\Users\idan\AppData\Roaming\npm\ 
node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:1174:1 
7) 
    at [object Object].jasmine.Queue.next_ (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2209:31) 

    at [object Object].jasmine.Queue.start (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2162:8) 
    at [object Object].jasmine.Spec.execute (C:\Users\idan\AppData\Roaming\npm\n 
ode_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2503:14 
) 
    at [object Object].jasmine.Queue.next_ (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2209:31) 

    at onComplete (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\nod 
e_modules\minijasminenode\lib\jasmine-1.3.1.js:2205:18) 
    at [object Object].jasmine.Spec.finish (C:\Users\idan\AppData\Roaming\npm\no 
de_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2477:5) 
    at [object Object].onComplete (C:\Users\idan\AppData\Roaming\npm\node_module 
s\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2504:10)==== asyn 
c task ==== 
Error 
    at [object Object].<anonymous> (c:\automation\tests\message.js:48:9) 
    at [object Object].jasmine.Env.describe_ (C:\Users\idan\AppData\Roaming\npm\ 
node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:913:21 
) 
    at [object Object].jasmine.Env.describe (C:\Users\idan\AppData\Roaming\npm\n 
ode_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:898:15) 

    at describe (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_ 
modules\minijasminenode\lib\jasmine-1.3.1.js:658:27) 
    at Object.<anonymous> (c:\automation\tests\message.js:1:63) 

Finished in 9.907 seconds 
3 tests, 3 assertions, 2 failures 

[launcher] 0 instance(s) of WebDriver still running 
[launcher] chrome #1 failed 2 test(s) 
[launcher] overall: 2 failed spec(s) 
[launcher] Process exited with error code 1 

c:\automation\tests> 

回答

0

您是否尝试过分裂你的测试在2描述了beforeEach序列?

类似的东西:

describe('LiveSite Portal - Existing client send new message', function() { 

    var msgBtn = element(by.xpath("//div[@class='actions-row']//a[.='Leave Your Details']")); 
    var EC = protractor.ExpectedConditions; 
    var msgBtniIsPresent = true; 

    it('LiveSite - Home Page', function() { 
     liveSiteHome(); 
    }); 

    describe('With msgBtn.isPresent()', function() { 
     beforeEach(function(done) { 
      msgBtn.isPresent().then(function(isPresent) { 
       msgBtniIsPresent = isPresent; 
       done(); 
      }); 
     }); 

     if (msgBtniIsPresent) { 

      it('LiveSite Portal - Existing client send new message - Message form', function() { 
       browser.wait(EC.visibilityOf(msgBtn), 10000); 
       element(msgBtn).click(); 
       waitPageToLoad(); 
       expect(element(by.id("new_client_message_message")).isPresent()).toBe(true); 
       element(by.css("div.row.mandatory > div.area")).click(); 
       element(by.id("new_client_message_title")).sendKeys("Automation message"); 
       element(by.id("new_client_message_message")).sendKeys("I am not logged-in client. Please call me."); 
       element(by.id("new_client_message_email")).sendKeys("[email protected]"); 
      }); 

      it('LiveSite Portal - Existing client send new message - Welcome back for existing client', function() { 
       element(by.id("new_client_message_first_name")).click(); 
       browser.wait(EC.visibilityOf(element(by.css("span.welcome-back"))), 10000); 
       expect(element(by.css("span.welcome-back")).isPresent()).toBe(true); 
      }); 

      it('LiveSite Portal - Existing client send new message - Messeage Sent', function() { 
       element(by.name("commit")).click(); 
       waitPageToLoad(); 
       expect(element(by.css(".final-container")).isPresent()).toBe(true); 
      }); 

      it('LiveSite Portal - Existing client send new message - Back to home page', function() { 
       element(by.css(".standard-button")).click(); 
       expect(element(by.model("email")).isPresent()).toBe(true); 
       browser.driver.sleep(2000); 
      }); 

     } else { 

      describe('With msgBtn.isPresent() === false', function() { 
       it('LiveSite Portal - Send new message from the text box - Text Area', function() { 
        // expect(element(msgBox.isPresent()).toBe(true); 
        element(by.xpath("//div[@id='main_container']/main/div/div/section/div[2]/div/div[2]/footer/form/div[2]/textarea")).sendKeys("Hello!\nHow are you?\nHave a good day! :)"); 
       }); 

       it('LiveSite Portal - Send new message from the text box - Message has been sent', function() { 
        element(by.xpath("//div[@id='main_container']//button[.='Send']")).click(); 
        browser.wait(EC.visibilityOf(element(by.xpath("//div[@id='main_container']//h2[.='Quick conversation']"))), 10000); 
        browser.driver.sleep(2000); 
       }); 
      }); 

     } 
    }); 
}); 

你可以手动也需要时,通过使用

browser.takeScreenshot().then(function(png) { 
    // Do something with the png... 
}; 
+0

非常感谢,但它不能解决我的问题。 现在的实际错误是关于它不能识别脚本中的任何元素。当然我知道捕捉功能,但我不能在HTML报告中显示捕捉的图像,所以对我来说这不是一种可能的选择。 @Paqman –

0

一个办法解决这是没有if在所有引发一些截图。看看测试的描述,看起来你有不同的测试运行,取决于用户是否是现有的客户端(无论对于你的业务用例而言是什么意思)。我会为现有客户端提供一组测试,并为新客户端提供一组测试,并始终运行这两个测试。您可能必须以不同的用户身份登录/实际创建不同的用户作为测试的一部分,但这很好(并且通过我的理解,非常标准)。

我也认为这不仅仅是一种解决方法,它是一种改进。你有一套不断的测试,每次测试都会一直运行,所以如果事情中断,总会失败。

+0

感谢您的回答Michal,但在这种情况下,无论用户是否存在,我都想使用此测试脚本,因为如果他存在某个元素,应该更改UI中的另一个元素。所以这个脚本的理性性应该是针对这两种情况运行的,因为它应该是一个动态测试。在这种情况下,我需要操纵“IF”语句。但非常有线,它一直失败..:/ @Michal Charemza –

+0

@IdanE据了解,用户界面是不同的,取决于用户是否存在。我的建议是总是测试这两种情况,一种是存在的用户,另一种不存在。 –