300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python自动化测试验证码处理方法

python自动化测试验证码处理方法

时间:2024-05-24 08:10:03

相关推荐

python自动化测试验证码处理方法

一.要使用(超级鹰专业验证码识别平台)

网站地址:超级鹰专业验证码识别平台

1>注册(关注公众绑定账号获得1000积分)

注册完成关注公众号绑定

2>登录

二.实测(代码)

chaojiying.py

#!/usr/bin/env python# coding:utf-8import requestsfrom hashlib import md5class Chaojiying_Client(object):def __init__(self, username, password, soft_id):self.username = usernamepassword = password.encode('utf8')self.password = md5(password).hexdigest()self.soft_id = soft_idself.base_params = {'user': self.username,'pass2': self.password,'softid': self.soft_id,}self.headers = {'Connection': 'Keep-Alive','User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',}def PostPic(self, im, codetype):"""im: 图片字节codetype: 题目类型 参考 /price.html"""params = {'codetype': codetype,}params.update(self.base_params)files = {'userfile': ('ccc.jpg', im)}r = requests.post('/Upload/Processing.php', data=params, files=files, headers=self.headers)return r.json()def ReportError(self, im_id):"""im_id:报错题目的图片ID"""params = {'id': im_id,}params.update(self.base_params)r = requests.post('/Upload/ReportError.php', data=params, headers=self.headers)return r.json()if __name__ == '__main__':# 用户中心>>【分别是 用户名 密码 软件ID】chaojiying = Chaojiying_Client('####', '#####', '####')# 本地图片文件路径 来替换 a.jpg 有时WIN系统须要//im = open('a.jpg', 'rb').read()# 1902 验证码类型 官方网站>>价格体系 3.4+版 print 后要加()print(chaojiying.PostPic(im, 1902))

yzm.py

# encoding:utf-8from chaojiying import Chaojiying_Clientfrom selenium import webdriverimport timedef log_in_sps(mobile='', password=''):if mobile and password:browser = webdriver.Firefox()url = '##################' # 填写自动化测试地址browser.get(url)# 处理验证码img = browser.find_element_by_css_selector('img[alt="验证码"]').screenshot_as_pngchaojiying = Chaojiying_Client('#####', '#####', '#####') # 用户中心>>【分别是 用户名 密码 软件ID】dic = chaojiying.PostPic(img, 1902)verify_code = dic['pic_str']time.sleep(3)if browser.find_element_by_css_selector("input[type='text']").is_displayed():browser.find_element_by_css_selector("input[type='text']").send_keys(mobile)browser.find_element_by_css_selector("input[type='password']").send_keys(password)time.sleep(3)browser.find_element_by_css_selector('input[placeholder="请输入验证码"]').send_keys(verify_code)browser.find_element_by_css_selector("button").click()time.sleep(3)browser.find_element_by_xpath("//li[@class='el-menu-item']/span[text()='系统管理']").click()time.sleep(2)browser.find_element_by_xpath("//button/span[text()=' 新建公告']").click()time.sleep(2)browser.find_element_by_css_selector("input[placeholder='公告标题']").send_keys("自动化测试标题")time.sleep(2)browser.find_element_by_css_selector("div[contenteditable='true']").send_keys("自动化测试内容")time.sleep(2)browser.find_element_by_xpath("//button/span[text()='发布']").click()if __name__ == '__main__':log_in_sps(mobile='admin', password='12345678')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。