1 Star 0 Fork 0

Q_YM / 知名app测试实战1

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test_addmember.py 3.47 KB
一键复制 编辑 原始数据 按行查看 历史
Q_YM 提交于 2021-08-07 19:18 . web企业微信实战1 - 添加联系人
# -*- coding : utf-8 -*-
# @Author : …
# @Date : 2021/8/7 18:14
# @Project File : chap18 test_addmember
import time
import yaml
from selenium import webdriver
# 导入chrome的options
from selenium.webdriver.chrome.options import Options
# 执行代码之前,一定要用Git Bash Here运行:chrome --remote-debugging-port=9222。(执行命令之前关闭谷歌浏览器)
class TestAddmember:
def test_remote_chrome(self):
# 使用浏览器复用的方式登录微信 只登录一次就可以运行多次。不复用浏览器,每次执行都需要扫码登录
# 实例化options
option = Options()
# 调用option的属性debugger_address,设定chrome debug模式的一个地址
# 地址需要写入刚刚启动命令的端口号(127.0.0.1:9222) 需要加一个IP:localhost
option.debugger_address = "localhost:9222"
# 实例化一个driver,driver中设定了刚刚的debugger_address属性
driver = webdriver.Chrome(options=option)
# 打开企业微信的登录页面
driver.get("https://work.weixin.qq.com/wework_admin/loginpage_wx")
time.sleep(2)
# 获取cookie,注意,需要在登录之后再去获取cookie,否则,获取到的cookie也无法使用(登录成功之后获取的cookie才是钥匙)
# 这里的cookie是一个变量
cookie_var = driver.get_cookies()
# 打印cookie,如果打印出内容,说明cookie获取成功
print(cookie_var)
# 把cookie存入一个可以持久存储的地方(yaml),不要因为程序结束,而cookie变量不能使用。 w:写入
yaml.safe_dump(cookie_var,open("cookie.yaml",mode="w",encoding="utf-8"))
# 登录 不复用浏览器
def test_cookie_login(self):
# 第一步,拿到cookie 不做写入操作,所以不加 mode="w"
cookie_var = yaml.safe_load(open("cookie.yaml",encoding="utf-8"))
# 打印cookie变量
print(cookie_var)
# 第二步,将cookie数据写入到浏览器中(如果不把cookie写入,打开的还是扫码登录页面)
# 需要打开浏览器输入登录后的网页,再写入cookie
driver = webdriver.Chrome()
driver.get("https://work.weixin.qq.com/wework_admin/frame")
# 将cookie数据写入到浏览器中
for cookie in cookie_var:
# 因为add cookie只支持传入单个的字典,所以我们需要循环调用,植入cookie。写入之后要刷新一下浏览器页面
driver.add_cookie(cookie)
# cookie的植入需要时间,加一个等待时间
time.sleep(5)
# 用get代替刷新,就可以不用手动刷新
driver.get("https://work.weixin.qq.com/wework_admin/frame")
# 点击添加成员 ".ww_indexImg_AddMember"是console控制板中用class定位“添加成员”的js代码块
driver.find_element_by_css_selector(".ww_indexImg_AddMember").click()
time.sleep(2)
# 输入姓名
driver.find_element_by_id("username").send_keys("测试001")
# 输入账号
driver.find_element_by_id("memberAdd_acctid").send_keys("ceshi001")
# 输入手机号
driver.find_element_by_id("memberAdd_phone").send_keys("13333333333")
# 输入邮箱
# driver.find_element_by_id("memberAdd_mail").send_keys("A1@126.com")
# 点击保存
driver.find_element_by_xpath("//*[@id='js_contacts52']/div/div[2]/div/div[4]/div/form/div[1]/a[2]").click()
1
https://gitee.com/q-ym/well-known-app-test-practice-1.git
git@gitee.com:q-ym/well-known-app-test-practice-1.git
q-ym
well-known-app-test-practice-1
知名app测试实战1
master

搜索帮助