在 Selenium Unittest 中同时断言两个语句为真
Asserting two statements are true at the same time in Selenium Unittest
我一直在尝试断言两个文本框元素包含成功测试的两个特定值。
文本框 1:100
文本框 2:0
我试过以下代码:
def test_example(self):
self.set_textbox1('100')
self.set_textbox2('0')
tb1 = self.find_by_id('textbox1')
tb2 = self.find_by_id('textbox2')
self.assertEquals((tb1.get_attribute('value'), 100) and (tb2.get_attribute('value'), 0))
这会产生以下错误:
Traceback (most recent call last):
File "test_textboxes.py", line 48, in test_textbox
self.assertEquals((tb1.get_attribute('value'), 100) and (tb2.get_attribute('value'), 0))
TypeError: assertEqual() takes at least 3 arguments (2 given)
有办法吗?
对我来说,可读性是单元测试最重要的一点之一,我更愿意为每个案例使用多行断言。
您可以保留您的工作流程,但使用 assertEqual 并添加类似的东西
self.assertEqual((tb1.get_attribute('value'),tb2.get_attribute('value'),(100,0))
AssertionError 假设第一个值查询是 99:
AssertionError: (99,0) != (100,0)
以下可能会解决您的问题:
连接 2 个字符串:
self.assertEqual(tb1.get_attribute('value') + tb2.get_attribute('value'), '1000')
或者:
self.assertEqual(''.join([tb1.get_attribute('value'), tb2.get_attribute('value')]), '1000')
使用元组:
self.assertEqual((tb1.get_attribute('value'), tb2.get_attribute('value')), (100, 0))
我一直在尝试断言两个文本框元素包含成功测试的两个特定值。
文本框 1:100 文本框 2:0
我试过以下代码:
def test_example(self):
self.set_textbox1('100')
self.set_textbox2('0')
tb1 = self.find_by_id('textbox1')
tb2 = self.find_by_id('textbox2')
self.assertEquals((tb1.get_attribute('value'), 100) and (tb2.get_attribute('value'), 0))
这会产生以下错误:
Traceback (most recent call last):
File "test_textboxes.py", line 48, in test_textbox
self.assertEquals((tb1.get_attribute('value'), 100) and (tb2.get_attribute('value'), 0))
TypeError: assertEqual() takes at least 3 arguments (2 given)
有办法吗?
对我来说,可读性是单元测试最重要的一点之一,我更愿意为每个案例使用多行断言。 您可以保留您的工作流程,但使用 assertEqual 并添加类似的东西
self.assertEqual((tb1.get_attribute('value'),tb2.get_attribute('value'),(100,0))
AssertionError 假设第一个值查询是 99:
AssertionError: (99,0) != (100,0)
以下可能会解决您的问题:
连接 2 个字符串:
self.assertEqual(tb1.get_attribute('value') + tb2.get_attribute('value'), '1000')
或者:
self.assertEqual(''.join([tb1.get_attribute('value'), tb2.get_attribute('value')]), '1000')
使用元组:
self.assertEqual((tb1.get_attribute('value'), tb2.get_attribute('value')), (100, 0))