2016-03-02 47 views
0

爲了測試, 我有這樣的目錄結構:
定製
LIB
測試

寫在「自定義」目錄中的每個JavaScript函數可以通過「測試訪問'目錄由一個「瀏覽器」對象。
這是通過lib目錄中的「testutils.js」文件完成的。
同樣,
是否有可能通過路徑「browser.pages.function-name()」來檢索'pages'目錄中的JavaScript函數可以被'test'目錄訪問?的Javascript:硒WebdriverIO

+1

歡迎堆棧溢出!請參閱[遊覽](http://stackoverflow.com/tour)並閱讀[如何提問](http://stackoverflow.com/help/how-to-ask)以瞭解我們對此問題的期望。請注意,我們不提供從頭編碼服務。請告訴我們您已經嘗試過的方式,失敗的方式以及我們可能會提供的幫助。 – Nitish

回答

1

它看起來像你試圖用WebdriverIO實現PageObject模式。你可以在WebdriverIO examples找到這個例子。

雖然,我會說我已經嘗試了這條路線,我更喜歡不同的方法。使用WebdriverIO,您可以將自定義命令添加到您的webdriver客戶端。所以,你可以在一個對象列出你的命令:

module.exports = { 
    searchGoogle: function (searchString) { 
     return this 
      .url('http://www.google.com') 
      .click('input[name="q"]') 
      .keys(searchString) 
      .pause(2000) 
      .keys(['Enter']); //press Enter Key 
    } 
}; 

然後你就可以將這些命令綁定到客戶端:

var client = webdriverio.remote(options); 
client.addCommand('searchGoogle',searchGoogle.bind(client)); 
+0

確切!我正在試圖用WebdriverIO實現PageObject模式。我經歷了這個例子。謝謝!!!如果我有一些工作代碼示例,這將是很好的。 –