Vue.js e2e 测试 nightwatch 如何手动输入
登录表单,有用户名、密码、验证码,用户名和密码是使用 browser.setValue
处理的,验证码如何处理呢?
在对应的测试用例里,如何让测试流程暂停并接收用户输入?获取到输入值后继续执行?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
登录表单,有用户名、密码、验证码,用户名和密码是使用 browser.setValue
处理的,验证码如何处理呢?
在对应的测试用例里,如何让测试流程暂停并接收用户输入?获取到输入值后继续执行?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
最近在写一个用 js 封装百度登陆模块的练习,也在纠结这个
本地测试还好,发到 ravisci 上测试,又要验证码,又要短信验证的
尝试了模拟 http 数据,因为请求的很多初始化参数都是随机的,没成功
后面谷歌搜了一通,看了些文章,加深了下对测试的理解
之前是把整个程序当成一个整体去测试的,那中间有很多随机的数据,会把测试变的不可控
暂时想的是把模块,甚至是方法单独拎出来做测试,然后把需要引用的参数,或者模块用模拟数据和模拟函数去代替,让输入变得可控,这样结果也就好测试了
自问自答一下吧:
自动化测试中遇到验证码,大致的解决方法有:关闭验证码、万能验证码、破解验证码、控制台同步输入等,如果是关闭验证码,就不算是模拟完全的开发环境了,如果是万能验证码,后端又会抱怨不安全,暴力破解看上去是正解,但能暴力破解了,后端估计也要崩溃了!控制台同步输入同事有演示(Pythone 版本),Node 版本没想到如何实现(菜)···!所以,如何在自动化中输入验证码困扰了我一下午。
后来,注意到
.pause()
(官方文档) 这个方法,突然想到,为何不设置一个足够长的时间,让我们手动输入验证码,然后它计时结束后会继续完成提交?!果然,这个方法是可行的!但弊端是没有实现自动化测试,人工干预了。