【拉勾4期】【直播】app 企业微信实战(一)

标题

app 企业微信实战(一)

课程价值

  • 了解 Appium 框架结构
  • 掌握 Appium 环境搭建
  • 掌握 Appium Inspector 录制及查找元素的使用
  • 掌握 元素定位技巧

大纲

  • Appium 介绍
  • Appium 环境搭建
  • Appium Inspector
  • 元素定位技巧
  • 企业微信实战-添加联系人

时长

90分钟

PPT

脚本编写

应用

参考链接

appium 环境搭建:Appium 环境搭建( windows 版本 | Mac版本)
sdk 环境 参照:Android Studio安装(推荐使用这种方法安装SDK)

选择合适的移动设备

  • 模拟器

1、第三方模拟器

mumu模拟器(6.0),夜神,雷电,逍遥…

连接mumu模拟器方式如下,其它模拟器端口号需要去官网查看

【win版】
adb connect 127.0.0.1:7555
adb shell

【mac版】

adb kill-server && adb server && adb shell

2、genymotion(windows上不建议)
emualator sdk自带,推荐

  • 真机

1、安装驱动(手机助手,豌豆荚等)
2、开发者选项 -开启调试模式

安装应用

方法一: 将apk文件拖拽到手机里
方法二: 使用命令行方式安装

adb install /path/to/xxx.apk

adb 常用命令

adb logcat  获取android 手机日志

  • 获取appPackage 和 appActivity
mac:

adb logcat|grep -i ActivityManager 

windows:


adb logcat|findstr  ActivityManager 

参考代码


    def test_contact(self):
        name = "hogwarts_00003"
        gender = "男"
        phonenum = "13812121214"
        # 点击【通讯录】
        self.driver.find_element(MobileBy.XPATH, "//*[@text='通讯录']").click()
        # 点击【添加成员】
        self.driver.find_element(MobileBy.ANDROID_UIAUTOMATOR,
                                 'new UiScrollable(new UiSelector()'
                                 '.scrollable(true).instance(0))'
                                 '.scrollIntoView(new UiSelector()'
                                 '.text("添加成员").instance(0));').click()
        # 点击【手动输入添加】
        self.driver.find_element(MobileBy.XPATH, "//*[@text='手动输入添加']").click()
        self.driver.find_element(MobileBy.XPATH, '//*[contains(@text, "姓名")]/../android.widget.EditText').send_keys(name)
        self.driver.find_element(MobileBy.XPATH, "//*[@text='性别']/..//*[@text='男']").click()
        if gender == "男":
            self.driver.find_element(MobileBy.XPATH, "//*[@text='男']").click()
        else:
            self.driver.find_element(MobileBy.XPATH, "//*[@text='女']").click()

        self.driver.find_element(MobileBy.XPATH, "//*[@text='手机号']").send_keys(phonenum)
        self.driver.find_element(MobileBy.XPATH, "//*[@text='保存']").click()
        # self.driver.find_element(MobileBy.XPATH, "//*[@text='添加成功']").click()
        result = self.driver.find_element(MobileBy.XPATH, "//*[@class='android.widget.Toast']").text
        assert result == "添加成功"

作业

编写完成删除联系人测试用例

1、使用find_elements 获取元素列表

课后反馈调查表

https://github.com/cuiqingliang/cql_horg.git

https://github.com/InsaneLoafer/HogwartsLG4_ZT.git

https://github.com/chadleRui/test_pytest/tree/master/test_appium

https://github.com/LQZuan/wework_appium.git

https://github.com/zhuozx/pywork

https://github.com/dmingzhu/hogwarts_demo.git

路径:./practice/appium_wx
https://github.com/tangjy155/tangjyPro

滑动查找全部成员个数失败
https://github.com/Just-zhs/Hogwarts_AAA/tree/master/my_appium

https://github.com/zy-87/hogwarts_lg4/tree/master/app_appium_1

https://github.com/dubiao0310/lg_study/blob/master/weixin/test_contact_del.py

https://github.com/zhousk/hogwarts/tree/master/app

作业
https://github.com/pengketong-pkt/pengketong_lg4/tree/master/learn_python/work_appium/weixin_appium

作业:删除企业微信通讯录联系人
漏洞:部分元素定位使用source-id,虽然当前页面唯一,但其他情况可能存在source-id更改问题,或不唯一问题
https://github.com/xmy0501/homework/tree/master/app/delete_contact

https://github.com/ljr287404428/appium_homework.git

https://github.com/zsjlu/hogwarts_robot/tree/master/homework/app/demo

  • 作业为demo2.py,demo1.py为录制的脚本练习。

app企业微信实战(一)作业:
https://github.com/Sunny-0820/hogwarts_lg4_wangqing/blob/master/test_appium/test_wx.py

APP作业1:
https://github.com/RamonSong/HogwartsLagou_04/tree/master/personalhomework_app04/homework01_deletelianxiren