2016-04-27 67 views
0

我正在使用量角器框架。我想編寫一個測試,檢查用戶1是否成功發送消息給用戶2.兩個用戶都應該在2個不同的瀏覽器上登錄。所以,我想要做的是:量角器中的第二個瀏覽器實例無法訪問類'元素

it("Test",() => { 
      let browser2 = browser.forkNewDriverInstance(true); 
      browser2.Chat.icon.click(); 

這樣,我想點擊類聊天的元素圖標,它看起來像:

export class Chat{ 
public static icon: p.ElementFinder = element(by.css("#popup > div > div > div > section > header > a")); 
} 

,當我嘗試做的做到這一點,以下錯誤出現:類型量角器上不存在屬性聊天 如何從browser2訪問類中的元素?

+0

您何時將'Chat'屬性分配給'browser'對象?在'onPrepare()'? – alecxe

+0

不可以。你可以給一個簡單的例子代碼塊嗎? –

+0

而不是導出類Chat {}嘗試使用module.exports = {} – KCaradonna

回答

1

因此,在您的示例中,browser2是一個全新的瀏覽器實例。聊天屬性上的元素仍然附加到初始瀏覽器實例(瀏覽器)。對我而言,創建一個模塊用於切換瀏覽器(以及元素,等等)上下文。第二個答案在這裏創建庫極大地幫助了我:Multiple browsers and the Page Object pattern

我使用的頁面對象模式,所以我要做的就是重新實例新的頁面對象我分叉新的驅動程序實例。所以它結束了這樣的事情(Javascript)。因此,我建議構建用於切換瀏覽器上下文(以及因此,元素,量角器等上下文)的小型庫。

相關問題