Appium 刚接触 appium,遇到一点问题,请教一下各位

sanatess · 2017年03月09日 · 最后由 sanatess 回复于 2017年03月09日 · 2013 次阅读

python 版本是 2.7.13,appium 是 1.4.13,IDE 是 pycharm
利用 PO 设计模式,借鉴了@jennyhui https://testerhome.com/topics/2226
设计了 BasePage、LoginPage 两个包,Test_login
BasePage 封装了 setUp、tearDown、常用的控件定位,元素是否存在等方法,LoginPage 封装了登入登出的方法
Test_login 调用 BasePage、LoginPage 里的方法,实现 app 的登录登出
脚本跑起来出现了错误

======================================================================

ERROR: test_Mobilelogin (main.testlogin)

Traceback (most recent call last):
Traceback (most recent call last):
File "F:/WebRTC/Testcase/test_login.py", line 46, in test_Mobilelogin
File "F:/WebRTC/Testcase/test_login.py", line 31, in tearDown
self.click_keys("id", phonenumber)
self.driver.quit()
AttributeError: 'str' object has no attribute 'quit'
File "F:\WebRTC\PO\BasePage.py", line 37, in click_keys

self.find_element(el, loc).click()

File "F:\WebRTC\PO\BasePage.py", line 30, in find_element
Ran 1 test in 21.271s
element = self.driver.find_element_by_id(loc)

AttributeError: 'str' object has no attribute 'find_element_by_id'
FAILED (errors=1)

1.是 BasePage 里定义的方法,没法调用 webdriver 里的 quit() 和 find_elenment_by_id() 方法吗?
2.我之前自己写的一个脚本,直接用 driver.find_elenment_by_id() 等查找控件方法是可以正常跑起来的,但封装起来后调用却不行了,刚接触 appium,请指点一二,谢谢各位

共收到 2 条回复 时间 点赞

你的 driver 封装在哪里了?
'str' object has no attribute 'quit'
'str' object has no attribute 'find_element_by_id'
这两句错误很明显的提醒你了,你的 driver 只是一个字符串而已,并不是 android 的 driver

shishuaigang 回复

好的,我看看,谢谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册