appium 学习笔记(四)

本文介绍了一个简单的App自动化登录测试脚本实现过程,包括使用XPath处理权限弹窗、登录操作及利用unittest框架验证登录成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继续完善脚本:

运行自动登录脚本发现会弹出权限弹框,因此需要添加一个点击动作

通过xpath定位到该元素:

self.driver.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")

为了避免可能有些机型不会弹框,这里写一个try来做点击事件

try:  #自动点击app授权弹框
    button = self.driver.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")
    button.click()
except:
    print("自动点击应用app授权出错!")



完成登录动作后,需要验证是否登录成功,用unittest的断言assert进行验证

这里可以通过捕捉登录后的title进行验证,代码如下:

title = self.driver.find_element_by_id("com.happy.food:id/title").text
self.assertIn(title,"开心粮票")

一个简单的自动化脚本基本完成,下面是完整的代码:

from appium  import webdriver
from time import sleep
import adbbase
import unittest


class happyfoodTest(unittest.TestCase): #自动化框架,继承unittest.TestCase
    """Test com.happy.food"""

    def setUp(self): #准备测试环境,每个用例前执行
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['paltformVersion'] = adbbase.platformVersion()
        desired_caps['deviceName'] = adbbase.platformName()
        desired_caps['appPackage'] = adbbase.appPackage()
        desired_caps['appActivity'] = adbbase.appActivity()

        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

        sleep(5)

    def test_login(self): #用例,以test开头;登录测试
        """Test login"""
        self.driver.find_element_by_id("phoneNumber").send_keys("13410066133")
        self.driver.find_element_by_id("passWord").send_keys("1234567a")
        self.driver.back()
        self.driver.find_element_by_id("login").click()
        sleep(1)
        try:  #自动点击app授权弹框
            button = self.driver.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")
            button.click()
        except:
            print("自动点击应用app授权出错!")
        sleep(1)
        title = self.driver.find_element_by_id("com.happy.food:id/title").text
        self.assertIn(title,"开心粮票")

    def tearDown(self): #清理环境,用例执行完后执行
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()


内容概要:本文深入解析了扣子COZE AI编程及其详细应用代码案例,旨在帮助读者理解新一代低门槛智能体开发范式。文章从五个维度展开:关键概念、核心技巧、典型应用场景、详细代码案例分析以及未来发展趋势。首先介绍了扣子COZE的核心概念,如Bot、Workflow、Plugin、Memory和Knowledge。接着分享了意图识别、函数调用链、动态Prompt、渐进式发布及监控可观测等核心技巧。然后列举了企业内部智能客服、电商导购助手、教育领域AI助教和金融行业合规质检等应用场景。最后,通过构建“会议纪要智能助手”的详细代码案例,展示了从需求描述、技术方案、Workflow节点拆解到调试与上线的全过程,并展望了多智能体协作、本地私有部署、Agent2Agent协议、边缘计算插件和实时RAG等未来发展方向。; 适合人群:对AI编程感兴趣的开发者,尤其是希望快速落地AI产品的技术人员。; 使用场景及目标:①学习如何使用扣子COZE构建生产级智能体;②掌握智能体实例、自动化流程、扩展能力和知识库的使用方法;③通过实际案例理解如何实现会议纪要智能助手的功能,包括触发器设置、下载节点、LLM节点Prompt设计、Code节点处理和邮件节点配置。; 阅读建议:本文不仅提供了理论知识,还包含了详细的代码案例,建议读者结合实际业务需求进行实践,逐步掌握扣子COZE的各项功能,并关注其未来的发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值