1、先上问题,知道是什么问题先

 EE
======================================================================
ERROR: testCalcu (__main__.MyTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\WorkSpace3\EXAMPLE\Appiu_ex\test.py", line 28, in testCalcu
self.driver.find_element_by_id("com.txt.calculator:id/tv_skip").click()
AttributeError: 'MyTest' object has no attribute 'driver' ======================================================================
ERROR: testCalcu (__main__.MyTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\WorkSpace3\EXAMPLE\Appiu_ex\test.py", line 25, in tearDown
self.driver.quit()
AttributeError: 'MyTest' object has no attribute 'driver' ----------------------------------------------------------------------
Ran 1 test in 0.001s FAILED (errors=2)

2、再上源码,如果你也在5分钟内未找到该问题原因,呵呵,那就在后续写代码中一定要仔细再仔细

 # -*- coding:utf-8 -*-
from appium import webdriver
import unittest class MyTest(unittest.TestCase):
def setup(self):
desired_caps = {}
desired_caps['platformName'] ='Android'
desired_caps['platformVersion'] ='6.0'
desired_caps['deviceName'] ='DIYTHYTCCQBIV47D'
desired_caps['appPackage'] ='com.txt.calculator'
desired_caps['appActivity'] ='.Calculator'
desired_caps["unicodeKeyboard"] ="True"
desired_caps["resetKeyboard"] ="True"
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) def tearDown(self):
self.driver.quit() def testCalcu(self):
self.driver.find_element_by_id("com.txt.calculator:id/tv_skip").click()
self.driver.find_element_by_id("com.txt.calculator:id/digit_8").click()
self.driver.find_element_by_id("com.txt.calculator:id/op_add").click()
self.driver.find_element_by_id("com.txt.calculator:id/digit_5").click()
self.driver.find_element_by_id("com.txt.calculator:id/eq").click()
try:
result = self.driver.find_element_by_class_name("android.widget.EditText").text
self.assertEqual('', result, "The result isn't right")
except Exception as e:
print (e)
self.fail("The element is wrong or non-exists") if __name__ == '__main__':
unittest.main()

3、duang   duang  duang duang开始计时

~~~~~5分钟之后,给出出问题的源码

class MyTest(unittest.TestCase):
def setup(self):

  注意setup   此处 up首字要大写,如未按照unittest框架的要求进行编写,它自然就不会先进行初使化了,自然也就出现后面的报错 MyTest实例中没有driver的属性

修改正确如下:

class MyTest(unittest.TestCase):
def setUp(self):

  

[BUG]Appium1.9.1 这个问题竟然花了我5分钟进行定位的更多相关文章

  1. zookeeper频繁异常问题分析

    Reference: https://blog.csdn.net/xjping0794/article/details/77784171 1.1            操作系统信息1.1.1      ...

  2. [ZZ]最小化不可重现的bug

    http://testerhome.com/topics/577 原文请见 Minimizing Unreproducible Bugs 不能重现的 bug 是我的灾难.我常常找到一个bug 后来又听 ...

  3. BUG,带给我的思考

    今天打开EverNote时,翻到了四年前在anjuke时做的一些bug分析总结.现在回过头看看也是有些价值所在,挑选出部分bug分享,希望能有所启发. 一. iOS新房APP4.4由于在91市场进行试 ...

  4. 一个诡异的MySQL查询超时问题,居然隐藏着存在了两年的BUG

    这一周线上碰到一个诡异的BUG. 线上有个定时任务,这个任务需要查询一个表几天范围内的一些数据做一些处理,每隔十分钟执行一次,直至成功. 通过日志发现,从凌晨5:26分开始到5:56任务执行了三次,三 ...

  5. 各种主流浏览器CSS、BUG兼容

    1.div的垂直居中问题 vertical-align:middle;将行距增加到和整个DIV一样高 line-height:200px;然后插入文字,就垂直居中了.缺点是要控制内容不要换行.---- ...

  6. 浏览器中CSS的BUG

    对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. 其它请参考:CSS hack 针对IE6,IE7,fir ...

  7. (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

    本文是<快速创建网站>系列的第9篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  8. IE6的bug

    借鉴http://css.doyoe.com/ 问题和经验列表,里面应有尽有.写几个常见的: 1.解决IE6及更早浏览器浮动时产生双倍边距的BUG display:inline 2.如何解决IE6下的 ...

  9. ie6下常见的bug 调整页面兼容性

    ie6下常见的bug 我们布局页面,首先符合标准,如何写一个页面的标准性? 但是ie6等浏览器本身就比较特殊,bug比较多,兵法云,知己知彼百战百胜.我们需要了解ie6的一些常见bug,这样,更好的调 ...

随机推荐

  1. [TJOI 2018]智力竞赛

    Description 题库链接 给出一张 \(m\) 个点的有向图.问可重最小路径覆盖是否 \(\leq n+1\) .若不,求最多用 \(n+1\) 条路径去覆盖,最大化未覆盖点点权最小值. \( ...

  2. SpringMVC+SpringJdbc+SQLServer+EasyUI增删改查

    前言 前天用SpringJdbc连接了一把SQLServer,早上起来用SpringMVC+SpringJdbc+EasUI写了个增删改查的demo,主要是熟悉下SpringMVC相关知识点,如vie ...

  3. spring cloud zuul 传递 header

    最近在做一个项目时,发现在网关中调用和在子系统中调用request.getRequestURL()所得到的请求url是不一样的,在网关中得到的是通过域名访问的地址,而在子系统中得到的是网关发起的子系统 ...

  4. vb.net Function使用

    Public Function colour(ByVal Code As Int16) As Color'顏色 Select Case Code Case 1 colour = Color.White ...

  5. C++中析构函数的作用

    如果构造函数打开了一个文件,最后不需要使用时文件就要被关闭.析构函数允许类自动完成类似清理工作,不必调用其他成员函数. 析构函数也是特殊的类成员函数.简单来说,析构函数与构造函数的作用正好相反,它用来 ...

  6. sublime text3快速生成html头部信息

    1.在网站开发过程中尤其写前台页面时要写头部很麻烦,怎么办呢?直接生成不更好吗? 这是快速生成的信息 2.方法: ctrl+shift+P打开命令面板 点击安装控制器 3.输入emmet 安装(以下图 ...

  7. Electron 应用入门 (参考官方示例)

    Electron 应用 1.去官方下案例 # 克隆示例项目的仓库 $ git clone https://github.com/electron/electron-quick-start # 进入这个 ...

  8. canvas-4createPattern.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 【HTML笔记】--- 内联元素间距问题及解决方案

    一.内联元素间距问题 在HTML实践中我们会发现,有时候内联元素之间会存在一定的间距,并且这间距和margin和padding无关.这是由编辑时的空白字符引起的,并且间距的大小受父元素的font-si ...

  10. Python 基于python实现单例模式

    基于python实现单例模式 by:授客 QQ:1033553122   概念 简单说,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也 ...