2015-06-03 16 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據瞭解,用戶界面是不同的,取決於用戶是否存在。我的建議是總是測試這兩種情況,一種是存在的用戶,另一種不存在。 –