51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4063|回复: 2
打印 上一主题 下一主题

python unittest 判断元素是否存在

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-5-29 17:15:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
python+selenium自动化,针对某些页面可能出现元素缺失的错误
想学习unittest 判断元素是否存在
使用self.assertIsNotNone()判断。
编辑代码:
import unittest
from selenium import webdriver
from time import sleep

class Testhello (unittest.TestCase):
    def setUp(self):
        self.driver=webdriver.Firefox()
        self.driver.get('https://www.baidu.com')
        self.driver.maximize_window()
        sleep(4)

    def test_baidu(self):
        driver=self.driver
        tr=driver.find_element_by_id('kw1')
        self.assertIsNotNone(tr)

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

if __name__=='__main__':
    unittest.main()为什么运行的时候提示错误,Message: Unable to locate element: [id="kw1"]而不是测试不通过啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-7-10 10:58
  • 签到天数: 194 天

    连续签到: 1 天

    [LV.7]测试师长

    2#
    发表于 2018-5-29 21:15:25 | 只看该作者
    仔细看看百度的搜索框定位到底是什么
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2018-5-30 10:42:15 | 只看该作者
    本帖最后由 yhy100 于 2018-5-31 15:59 编辑

    我百度到
    编辑了两个文件:
    baidukw.py:
    from time import sleep
    from selenium import webdriver
    from is_element_exist import isElementExist
    from selenium.webdriver.common.by import By
    import unittest

    class Login (unittest.TestCase):
        def setUp(self):
            self.driver=webdriver.Firefox()
            self.driver.get('http://www.baidu.com')

        def test_login(self):
            driver=self.driver
            dw = (By.ID,"kw")
            self.assertTrue(isElementExist(driver,dw))

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

    if __name__=='__main__':
        unittest.main()

    is_element_exist.py


    def isElementExist(driver,dw):
        try:
            driver.find_element(dw)
            return True
        except:
            return False
    百度搜索框id是kw,预计应该是成功的啊,可是执行结果是  False我故意把kw改成k2w,有执行了一遍,结果还是  False 这是为什么啊?

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 13:00 , Processed in 0.062838 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表