python断言的几种方式_Python selenium实现断言3种方法解析

1.if ...else ...判断进行断言

from time import *

from selenium import webdriver

def login(user="admin",pwd="123456"):

driver = webdriver.Chrome()

driver.implicitly_wait(10)

driver.get("http://192.168.1.110:8080/cms")

driver.maximize_window()

sleep(1)

driver.find_element_by_id("userAccount").send_keys(user)

sleep(1)

driver.find_element_by_id("loginPwd").send_keys(pwd)

sleep(1)

driver.find_element_by_id("loginBtn").click() #登录

sleep(1)

users = driver.find_element_by_class_name("c-white").text #获取用户名

sleep(1)

driver.quit()

if users[6:] == user:

pass

else:

raise AssertionError

if __name__ == '__main__':

login()

from time import *

from selenium import webdriver

def login(user="admin",pwd="123456"):

driver = webdriver.Chrome()

driver.implicitly_wait(10)

driver.get("http://192.168.1.110:8080/cms")

driver.maximize_window()

sleep(1)

driver.find_element_by_id("userAccount").send_keys(user)

sleep(1)

driver.find_element_by_id("loginPwd").send_keys(pwd)

sleep(1)

driver.find_element_by_id("loginBtn").click() #登录

sleep(1)

users = driver.find_element_by_class_name("c-white").text #获取用户名

sleep(1)

driver.quit()

if users[6:7] == user:

pass

else:

assert False

if __name__ == '__main__':

login()

2.try ... except ...断言

from time import *

from selenium import webdriver

def fatie(title,body):

dr = login()

sleep(2)

dr.find_element_by_partial_link_text("版块").click()

sleep(1)

dr.find_element_by_id("subject").send_keys(title)

sleep(1)

dr.find_element_by_id("fastpostmessage").send_keys(body)

sleep(2)

dr.find_element_by_name("topicsubmit").click()

sleep(2)

try:

dr.find_element_by_id("thread_subject")

except:

raise AssertionError

else:

pass

sleep(3)

dr.quit()

3.assert断言(基于unittest)

assertIn(arg1, arg2, msg=None)   验证 arg1 是 arg2 的子串,不是则 fail

assertNotIn(arg1, arg2, msg=None)   验证 arg1 不是 arg2 的子串,是则 fail

assertEqual(arg1, arg2, msg=None)   验证 arg1=arg2,不等则 fail

assertNotEqual(arg1, arg2, msg=None)   验证 arg1 != arg2, 相等则 fail

import time

import unittest

class Test(unittest.TestCase):

def test01(self):

self.assertEqual(2,2,msg="test01 error!")

def test02(self):

self.assertNotEqual(1,2,msg="test02 error!")

def test03(self):

self.assertIn("fang","xinfangshuo",msg="test03 error!")

def test04(self):

self.assertNotIn("xing","xinfangshuo",msg="test04 error!")

def tearDown(self):

time.sleep(1)

if __name__ == '__main__':

unittest.main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 Selenium 进行自动化测试时,我们需要对测试结果进行断言以判断测试是否成功。以下是几种使用 Selenium 进行断言方式: 1. assertEqual() 方法:使用该方法判断实际结果与预期结果是否相等,若不相等则抛出 AssertionError 异常。 ```python from selenium import webdriver import unittest class Test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def test_search(self): self.driver.get("https://www.google.com") search_box = self.driver.find_element_by_name("q") search_box.send_keys("Python") search_box.submit() title = self.driver.title self.assertEqual(title, "Python - Google Search") def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main() ``` 2. assertTrue() 方法:使用该方法判断条件表达式是否为 True,若不为 True 则抛出 AssertionError 异常。 ```python from selenium import webdriver import unittest class Test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def test_search(self): self.driver.get("https://www.google.com") search_box = self.driver.find_element_by_name("q") search_box.send_keys("Python") search_box.submit() title = self.driver.title self.assertTrue("Python" in title) def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main() ``` 3. assertRaises() 方法:使用该方法判断是否会抛出指定的异常,若不抛出则抛出 AssertionError 异常。 ```python from selenium import webdriver import unittest class Test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def test_search(self): self.driver.get("https://www.google.com") with self.assertRaises(NoSuchElementException): search_box = self.driver.find_element_by_name("not_exist") search_box.send_keys("Python") search_box.submit() def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main() ``` 以上是三种常用的断言方式,根据需要选择适合的方法来进行断言

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值