【问题标题】:asserTrue() alwasys fail after encapsulationasserTtrue() 封装后总是失败
【发布时间】:2020-01-27 20:38:28
【问题描述】:

我尝试使用python3.7 + appium + unittest 来构建一个简单的自动化测试框架。我遇到了一个问题,即我的测试用例脚本在将整个断言函数封装到另一个 python 脚本后总是在 asserTrue() 失败。此断言用于检查当前屏幕是否有用户需要的文本。 我的测试用例脚本如下:

......
class Test1(unittest.TestCase):
@classmethod
def setUpClass(self):
    print("execute setUpClass")

@classmethod
def tearDownClass(self):
    print("execute tearDownClass")

def test_demo(self):
    time.sleep(1)
    try:
        assert_text = driver.find_element_by_android_uiautomator('new UiSelector().text("WLAN")')
    except Exception as e:
        assert_text = False
    self.assertTrue(assert_text,'Fail to find text "WLAN"')

文本“WLAN”在当前屏幕上作为一个元素 100%。上面的代码可以成功运行但失败。但是在我将以下部分作为函数放入另一个脚本后,它总是会得到 ​​p>

AssertionError: False is not true : 找不到文本“WLAN”

        try:
            assert_text = driver.find_element_by_android_uiautomator('new UiSelector().text("WLAN")')
        except Exception as e:
            assert_text = False
        self.assertTrue(assert_text,'Fail to find text "WLAN"')

封装脚本assert_zsq.py是这样的:

def Verify_Text(self,req_text):
try:
    assert_text = driver.find_element_by_android_uiautomator('new UiSelector().text("{0}")'.format(req_text))
except Exception as e:
    assert_text = False

self.assertTrue(assert_text,'Fail to find text "{0}"'.format(req_text))

还将测试用例脚本的主要操作更改为:

    def test_demo(self):
    time.sleep(1)
    Verify_Text(self,'WLAN')

知道为什么 asserTrue() 总是在封装后失败,即使屏幕上显示了所需的文本?提前致谢!

【问题讨论】:

    标签: python android python-3.x appium python-unittest


    【解决方案1】:

    assertTrue() 方法需要 True 或 False,但 find_element_by_android_uiautomator 不是返回 True 或 False 而是 MobileWebElement

    你可以试试:

    assert_text = driver.find_element_by_android_uiautomator('new UiSelector().text("WLAN")').is_displayed()
    

    is_displayed() 返回 True 或 False,取决于它是否能够定位元素。

    现在assert_text 应该可以正常工作了。

    【讨论】:

    • 谢谢,转过来,现在更有意义了。
    猜你喜欢
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    相关资源
    最近更新 更多