Web自动化的含义定义:自动化测试是将人类驱动的测试行为转化为机器执行的过程。目的:验收测试的过程可以自动化重复测试,从而提高测试的效率和质量。内容:Web自动化主要是自动化回归验证的测试用例,也就是自动化回归验证。备注:自动化其实是一个很费时间的工作。因此,测试人员在决定做自动化时,往往需要先分析确认哪些模块适合自动化,以便更好地节约资源,合理利用有限的资源。否则自动化只会带来更多的工作量,对测试没有任何帮助。
破解验证码破解验证码一直是Web自动化的技术难点。但是,它也是更好地实现Web自动化的关键技术!
滑块验证码破解技术框架
2306滑块验证码破解首先,我们使用Web自动化进入12306的登录页面。基础薄弱的同学可以系统的提升自己!
#-*-coding : utf-8-*-” ‘ @ Time:2022/4/20:24 @ auth:Mr . William 1052949192 @ company:TestingEdu.com.cn @ function:12306 slider验证码’ ‘从selenium导入webdriver#打开浏览器(配置web driver)driver=web driver . chrome(options=option)#隐式等待driver . implicit _ wait(10)driver . maximize _ window()#打开网站driver.get(‘打开send _ keys(‘ I _ wanting @ year . net ‘)#输入密码driver.find _ element (by.xpath,’/* [@ id=’ j-password’]’)。派遣
目前12306滑块验证码破解属于比较简单的一类。破解原理如下:找到滑块-拖动(鼠标移过来,然后按住鼠标拖动)-拖动距离(因为不是一个确切的距离,可以直接查看元素大小)-松开鼠标。
#查找滑块ele=driver . Find _ element(by . XPath,//*[@id=’nc_1_n1z’]’)#使用action操作鼠标action=ActionChains(driver)#将鼠标移动到元素action.move_to_element(ele)#按住鼠标action.click_and_hold(ele)#拖动380个水平像素action.move_by_offset(380,0)#释放鼠标action.release()#务必让上述操作执行action.perform()可能会报告一个异常:没有此类元素(在页面上找不到此元素)原因1:元素加载解决方案的时间较晚:
添加隐式等待
#隐式等待driver.implicit _ wait (5)每隔0.5s查找一次元素,如果找到,继续执行。如果没有找到,继续寻找,直到您配置的时间。如果还没有找到,报告没有这样的元素大大加强自动化的稳定性。默认情况下,都需要匹配。原因2:定位器书写错误(拼写错误、id被更改等。)解决方案:
定位方法怎么调试?(在自动打开的浏览器中调试!)在元素中,调整
在控制台界面中,使用$x(‘xpath ‘)进行调试
错误:error:QtPx7(哎呀,有错误!)原因:网站识别自动化(识别原理:自动化使用打开浏览器中的logo)解决方案:
摆脱自动识别。
#去掉自动化标识符option=options()option . add _ experimental _ option(‘ exclude switches ‘),[‘ enable-automation ‘])option . add _ argument(‘-disable-blink-features=automation controlled ‘)#打开浏览器(配置web driver)driver=web driver . chrome(options=option)解决所有问题后,12306滑块验证码完美破解!关注我们,自动破解类型更多(图文验证码,JD.COM,知乎,淘宝等),这些都可以!)百度搜索“Testin软件测试腾讯课堂”或微信官方账号关注“Testin软件测试”。免费干货素材和第一手视频资源都可以带走。