我是功能测试和实习生的新手。任何人都可以帮助我对需要身份验证的网页进行功能测试,即会话后面的网页。我已经安装了selenium web驱动程序,并且能够毫无问题地测试登录页面和一些静态页面。
e.g。 /myproj/login
是登录页面。我能够测试它。现在,当我尝试测试/myproj/home/index
时,浏览器将重定向到登录页面。我想测试这个页面应该是什么步骤?一些代码片段会让事情变得清晰。
registerSuite({
name: 'demo',
'submit form': function () {
remote = this.remote;
return remote
.get(require.toUrl('https://localhost/login'))
.findById('username')
.click()
.type('test')
.end()
.findById('password')
.click()
.type('test123')
.end()
.findByName('submit')
.click()
.end()
.then(pollUntil('return document.getElementById("osp_homepage_metric_selection_bar");', 30000))
.findById('osp_show_help_popup_trigger_parent')
.getVisibleText()
.then(function(resultText){
assert.equal(resultText, '<i class=" icon-question-sign"></i>','Test Failed!!!');
});
},
'landing page': function () {
return remote
.setFindTimeout(Infinity)
.findById('show_help_popup_trigger_parent')
.getVisibleText()
.then(function (resultText) {
assert.equal(resultText, '<i class=" icon-question-sign"></i>','Test Failed!!!');
});
}
});
提前致谢
Manish
答案 0 :(得分:1)
一种可能性是使用不需要您登录的测试服务器。
另一种选择是在功能测试中登录您的网站。在登录页面填写用户名和密码(或用于登录的任何内容)并提交:
.findById('username')
.type('bob123')
.end()
.findById('password')
.type('somepassword')
.end()
.findById('submit')
.click()
然后等待您感兴趣的页面完全加载并继续测试:
.then(pollUntil(...))
// continue testing
如果登录过程很慢,您可能需要使用this.async
来增加测试的超时时间。
答案 1 :(得分:1)
Intellij用户的实习JS调试功能测试:
以以下目录结构为例。
-C
-root
-node_modules
-intern
-bin
intern-runner.js
-tests
为节点应用程序设置新的调试配置。
设置调试配置后,您可以继续调试功能测试。只需在JS文件中设置断点并点击调试按钮。