實習生是否有相當於Capybara的(RoR)default_wait_time?實習生Selenium測試的default_wait_time
setPageLoadTimeout和setFindTimeout似乎沒有完成任何事情。
this.timeout = 60000似乎給整個測試60秒,但我希望所有步驟都有一個默認的等待時間。否則,感覺這些步驟的順序不合適,因爲步驟依賴的元素尚未出現在頁面上。
var title = 'title ' + (new Date()).toString();
var remote = this.remote;
return remote
.get(require.toUrl('http://' + Configs.host + '/logout'))
.get(require.toUrl('http://' + Configs.host + '/auth/facebook'))
.findById('email')
.click()
.type(Configs.fb.username)
.end()
.findById('pass')
.click()
.type(Configs.fb.password)
.end()
.findByCssSelector('#login_form input[type=submit]')
.click()
.end()
// browser successfully navigates to "/things"
.findByCssSelector('a.new_thing')
.click()
.end()
// browser often navigates to "/things/new"
.findByCssSelector('input.title')
// terminal message always 'StaleElementReference'
// even though a pollUntil (ommitted) does find 'input.title'
.click()
.type(title)
.end()
.findByCssSelector('button.create')
.click()
.end()
是否有其他人可靠地使用此框架的單頁網絡應用程序?
你能不能展示一些代碼,比如你正在寫的測試用例? 'setFindTimeout'絕對是一回事。 – 2014-09-24 06:45:42
我用測試代碼的示例更新了我的問題。我在代碼中有評論。我使用html5 pushState,瀏覽器地址欄導航來完成URL,但它們實際上只是映射到客戶端Backbone.js路由器路徑。 – 2014-09-24 07:17:56