Python Selenium Webdriver向Webelements/custom'assert'语句添加方法

2024-05-20 13:16:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试添加一些我经常使用的methodsWebElements。我知道如何让它工作,但现在我的断言语句失败了。这是我的东西。如何让我的assert工作?你知道吗

def is_below(self, above_element):
    below = self.location['y']
    above = above_element.location['y']

    self.assertLess(above, below)

WebElement.is_below = WebElement_is_below

事实上,这就是我想弄明白的所有逻辑:

class ModifiedTestCase(TestCase):
    def is_below(self, above_element):
            below = self.location['y']
            above = above_element.location['y']

        self.assertLess(above, below)

        WebElement.is_below = WebElement_is_below


class SeleniumTest(ModifiedTestCase):

    def test_web_page(self):

        above_element = self.find_element()
        below_element = self.find_element()

        below_element.is_below(above_element)

我得到的错误是“WebElement没有属性断言”。我知道我可以给它传递一个driver参数,但这破坏了一些简单性。你知道吗


Tags: selfisdeflocationelement断言findclass
1条回答
网友
1楼 · 发布于 2024-05-20 13:16:15

所以我想出了一个解决办法。我使用了assert语句。你知道吗

class ModifiedTestCase(TestCase):
    def WebElement_is_below(self, above_element):
        below = self.location['y']
        above = above_element.location['y']

        assert above < below, f'"{below}"  > "{above}"'

    WebElement.is_below = WebElement_is_below


class SeleniumTest(ModifiedTestCase):

    def test_web_page(self):

        above_element = self.find_element()
        below_element = self.find_element()

        below_element.is_below(above_element)

相关问题 更多 >