selendroid testing android web APP notes
2016-10-09 11:33
489 查看
1. 参考http://www.guru99.com/introduction-to-selendroid.html
2. 使用下面的网址查看真机是否连接上,
http://localhost:4444/wd/hub/status
3. 测试程序 baidu.py, 模拟在手机里面打开浏览器,使用baidu搜索,程序是使用selenium IDE导出的
4. 使用eclipse,在eclipse里面运行测试脚本没有问题,但是单独运行测试脚本,baidu.py,显示 KeyError: 'sessionId'
5. 使用http://localhost:4444/inspector/,可以进行debug
2. 使用下面的网址查看真机是否连接上,
http://localhost:4444/wd/hub/status
{ "status": 0, "value": { "supportedApps": [ { "appId": "io.selendroid.androiddriver:0.17.0", "mainActivity": "io.selendroid.androiddriver.WebViewActivity", "basePackage": "io.selendroid.androiddriver" } ], "os": { "arch": "amd64", "name": "Windows 7", "version": "6.1" }, "build": { "browserName": "selendroid", "version": "0.17.0" }, "supportedDevices": [ { "screenSize": "(1080, 1920)", "platformVersion": "22", "model": "m2 note", "emulator": false, "apiTargetType": "google", "serial": "81UEBM726HHK" } ] } }
3. 测试程序 baidu.py, 模拟在手机里面打开浏览器,使用baidu搜索,程序是使用selenium IDE导出的
#!/usr/bin/python # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException from selenium.common.exceptions import NoAlertPresentException import unittest, time, re class Baidu(unittest.TestCase): def setUp(self): desired_capabilities = {'emulator':False, 'platform': 'ANDROID', 'browserName': 'android', 'version': '', 'javascriptEnabled': True} self.driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.ANDROID) #self.driver = webdriver.Remote(desired_capabilities=desired_capabilities) self.driver.implicitly_wait(30) self.base_url = "https://www.baidu.com/" self.verificationErrors = [] self.accept_next_alert = True def test_baidu(self): driver = self.driver driver.get(self.base_url + "/") driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_keys("selendroid") driver.find_element_by_id("su").click() time.sleep(30) def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException as e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException as e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main()
4. 使用eclipse,在eclipse里面运行测试脚本没有问题,但是单独运行测试脚本,baidu.py,显示 KeyError: 'sessionId'
5. 使用http://localhost:4444/inspector/,可以进行debug
相关文章推荐
- Android App 中把WebView分割固定的 最佳解决方案
- Android Web App官方文档翻译第三章:WebView构建应用
- 关于android app跳转和从web跳转的问题(转载修正)
- Android如何区分app原生和webview实现
- Android webview app 直接使用注入 javascript 解决中文输入问题
- Android Web App官方文档翻译第二章:屏幕适配
- Cordova webapp实战开发:(4)Android环境搭建
- Android Web App官方文档翻译第一章:概览
- 基于Android Webview的Hybrid App开发的前端优化
- 动手写Android App之webview
- web.py 0.3 新手指南 - RESTful doctesting using app.request
- 不使用webview,用手机浏览器的android app
- Android Stock Browser Web App开发当中遇到的问题(持续更新)
- Android Web App官方文档翻译第四章:调试
- Android(& Tizen Web App) Designer 所见即所得
- 一个嵌入式web服务器项目,实现通过手机Android App实现对嵌入式设备的控制
- Android app 使用webview
- 【Android】Web开发之通知栏下载更新APP
- android web页面点击事件跳转至APP
- 关于android webview 端调原生app 的支付宝接口实现 还有BeeCloud(秒支付) 的接入使用