在移动应用的开发与测试环节,常常遇到不少难题和亮点。比如,有些自动化工具虽然操作简便,但无法满足对混合应用的测试需求,这一点通常是开发者和测试人员急需克服的挑战。
移动端自动化框架现状
移动端app的自动化框架种类众多。其中,那个我们提到的经典框架,因其操作简便、API调用简单,深受自动化工程师喜爱。然而,它并未广泛流行,主要原因是缺乏对混合应用测试的支持。无论是官方文档还是民间教程,都很少提及如何用它进行混合应用测试,这限制了其在某些场景中的应用。企业在选择测试框架时,需考虑众多因素。虽然主流的移动端app测试框架支持混合应用测试,但搭建和使用过程较为繁琐,封装方式也不太符合个人喜好。
现在,移动应用开发主要分为原生应用和网页应用。原生应用的用户体验相当出色,但需分别针对安卓和iOS系统,采用不同的技术进行开发。网页应用则能实现跨平台,支持安卓和iOS,不过其体验略逊一筹。混合应用则融合了两者的长处,处于中间位置。
混合应用相关概念
移动端开发中,混合应用扮演着关键角色。这种应用能在原生界面中嵌入网页,从而将原生应用的用户体验优势与webapp的跨平台特性相结合。比如,我们常用的某些应用,表面上看与原生应用无异,流畅度极高,同时又能展示网页内容。当前,这种开发模式在移动应用开发领域日益受到青睐。众多企业为了降低开发成本并确保用户体验,倾向于采用这种技术。然而,由于某些自动化框架在此领域的不足,导致应用开发完毕后,测试阶段面临诸多挑战。
框架不支持混合应用测试的遗憾
那个经典框架不支持混合应用测试,这让人感到挺遗憾的。不少公司里的测试人员都偏爱它的简洁和优雅。原本这个框架就是为了简单易用而设计的,众多功能都能轻松搞定。然而,随着混合应用变得越发普遍,不支持这项测试功能成了它的短板。因此,许多公司不得不转而考虑其他测试框架,尽管这些框架操作起来不那么顺心,这也无形中提高了成本。
d = u2.connect()
d.app_start('com.github.android_app_bootstrap')
d(text='Login').click()
d(text='Baidu').click()
混合应用测试步骤剖析
关键在于那个神秘步骤。若直接开启新会话,新页面与app中的web部分是独立的,无法测试嵌套网页。需与app建立关联,操作web即是在操作app中的网页。例如,通过特定入口进入,这一流程即为基本操作,详情可查阅官方文档。以我们提到的某款app为例,第三个菜单可打开baidu网页,进而进入测试网页部分。若不按此操作,直接定位网页元素将导致错误。整个流程必须严格按步骤进行,才能准确测试混合应用部分。
代码来源揭晓
众人疑惑这核心代码是从何而来。实际上,它就在官方资料中,或许是因为信息分布不均或者权限限制,所以并未被轻易发现。通过查看截图内容,可以进一步了解;其他配置,则可以参考MDNwebdocs。这表明,很多时候,知识其实就在我们眼前,只是需要我们深入挖掘。这也意在提醒所有移动端测试人员,遇到问题时,应多从源头寻找解决方案。
driver = webdriver.Chrome('chromedriver_68.exe', options=options)
driver.implicitly_wait(8)
driver.find_element('id', 'index-kw').send_keys('你好')
获取完整代码与工具包的途径
若想获取完整代码及工具包,可在评论区回复[u2]查询。大家在使用框架时,是否遇到过难以找到关键信息的问题?欢迎在评论区留言交流。同时,别忘了点赞和转发这篇文章。