Hybrid App(混合模式移动应用)
是指介于web-app、native-app这两者之间的app
兼具Native App良好用户交互体验的优势

Web App跨平台开发的优势

HybridAppTest.py:

import unittest
from time import sleep from appium import webdriver class MyTestCase(unittest.TestCase): def setUp(self):
capabilities = {
"platformName": "Android",
"platformVersion": "7.1.1",
"deviceName": "3216e430",
"browserName": "Chrome",
# Chrome浏览器
"appPackage": "com.android.browser",
# Chrome的包名
"appActivity": ".BrowserActivity",
# Chrome的启动页
"unicodeKeyboard": True,
"resetKeyboard": True,
"noReset": True,
"noSign": True
}
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", capabilities)
sleep(2) def test_hybridApp(self):
driver = self.driver
driver.get("http://www.cnblogs.com/yjlch1016/")
sleep(2)
driver.switch_to.context("NATIVE_APP")
# 切换到原生
sleep(1)
driver.find_element_by_id("com.android.chrome:id/menu_button").click()
# 点击右上角的菜单
sleep(2)
driver.find_element_by_accessibility_id("历史记录").click()
# 点击历史纪录
sleep(2)
driver.keyevent(4)
# 手机返回键
sleep(2)
driver.switch_to.context("CHROMIUM")
# 切换到H5
sleep(1)
driver.find_element_by_xpath(".//*[@id='homepage1_HomePageDays_ctl00_DayList_TitleUrl_0']").click()
# 点击第1篇博客
sleep(2)
assert driver.find_element_by_xpath(".//*[@id='cb_post_title_url']"), "Appium(Python)驱动手机淘宝App" def tearDown(self):
self.driver.close_app()
self.driver.quit() if __name__ == '__main__':
unittest.main()

如果是自己公司的App,

请记得麻烦开发工程师开启WebView的debug模式!

最新文章

  1. .net开源后可以查看的源代码
  2. Cacti -- Advance Ping
  3. Java多线程学习(二)
  4. mongodb(mongoose-redis-cache)
  5. Qt中的qreal
  6. jquery bind、delegate、live、on的区别及联系
  7. Entity Framework: Joining in memory data with DbSet
  8. Java基础-String 存储机制管理
  9. Linux Native Aio 异步AIO的研究
  10. MyBatis之二:简单增删改查
  11. ASCII 码对应表
  12. Linux防火墙配置—允许转发
  13. SQL Server 2008对日期时间类型的改进
  14. centos6环境下使用yum安装Ambari
  15. Python存储系统(Redis)
  16. #1479 : 三等分(树形DP)
  17. Codeforces 914D - Bash and a Tough Math Puzzle 线段树,区间GCD
  18. webpack+vue打包之后输出配置文件修改接口文件
  19. Android + Eclipse + PhoneGap 2.9.0 安卓最新环境配置,部分资料整合网上资料,已成功安装.
  20. 【shell】各种括号()、(())、[]、[[]]、{}的使用

热门文章

  1. MaBatis(5)输入/输出映射
  2. mybatis映射文件参数处理 #{}取值与${}取值的区别
  3. 智能门锁超低功耗:SI522(13.56芯片)替代MFRC522\FM17522
  4. ARM MDK 编译产生:RO、RW和ZI DATA说明
  5. ssm框架基础搭建
  6. Maven--archetypeCatalog笔记
  7. Oracle模糊查询
  8. wpf中使用cefsharp加载本地html网页并实现cs和js的交互,并且cefsharp支持any cpu
  9. MySQL必知必会 读书笔记二:MySQL使用
  10. 解决微信小程序用 SpringMVC 处理http post时请求报415错误