运行python脚本时一直提示xx object has no attribute xx

代码如下#coding=utf-8importosimporttimeimportunittestPATH=lambdap:os.path.abspath(os.path... 代码如下
#coding=utf-8
import os
import time
import unittest

PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)
class appTest(unittest.TestCase):
def setup(self):
desired_caps = {
'platformName':'Android',
'platformVersion':'4.2',

'deviceName':'Android',
'app':PATH(r'C:\Users\lc\Desktop\app\86785.apk'),
'appPackage':'com.example.android.contactmanager',
'appActivity':'.ContactManager'
}
self.driver = webdriver.Remote(r'xxxxxxx', desired_caps)

def tearDown(self):
self.driver.quit()

def test_addContact(self):
el=self.driver.find_element_by_name('Add Contact')
el.click()

textfileds=self.driver.find_elements_by_class_name('android.widget.EditText')
textfileds[0].send_keys("Appium User")
textfileds[1].send_keys("110")
textfileds[2].send_keys("someone@appium.io")

self.driver.find_element_by_name("Save").click()

if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(appTest)
unittest.TextTestRunner(verbosity=2).run(suite)

报错:
AttributeError: 'appTest' object has no attribute 'driver'
展开
 我来答
仰先身志决师1
2019-12-29 · TA获得超过2.3万个赞
知道答主
回答量:13
采纳率:100%
帮助的人:1.9万
展开全部

这其实是.pyc文件存在问题。

问题定位:

查看import库的源文件,发现源文件存在且没有错误,同时存在源文件的.pyc文件

问题解决方法:

1、命名py脚本时,不要与python预留字,模块名等相同。

2、删除该库的.pyc文件(因为py脚本每次运行时均会生成.pyc文件;在已经生成.pyc文件的情况下,若代码不更新,运行时依旧会走pyc,所以要删除.pyc文件),重新运行代码;或者找一个可以运行代码的环境,拷贝替换当前机器的.pyc文件即可。

扩展资料:

修改别人python代码,会遇到在类的init中已定义self,但后面使用还是找不到定义的self.*,其中一个原因是init中self定义顺序的问题。

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。

参考资料:

百度百科-python

neosicifore
2015-07-29 · TA获得超过2258个赞
知道小有建树答主
回答量:446
采纳率:66%
帮助的人:498万
展开全部

你没有导入webdriver的包

from appium import webdriver
追问
这个有写的、。估计没有复制上去,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hliang79
推荐于2017-09-16 · 超过16用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:35.9万
展开全部
def setup(self):应该是def setUp(self):
注意大小写

然后还有个错误,webdriver没有定义,这个就不知道了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式