1

自動化のためにPythonでセレンを使用しています。作成した .py ファイルは次の 2 つです。

Browser.py:

from selenium import webdriver

class Browser:

    def GoTo(self, url):
        browser.get(url)

browser = webdriver.Firefox()

ログイン.py:

import unittest
from Browser import *

class Test(unittest.TestCase):

    def setUp(self):
        pass

    def test_Can_Login(self):
        browser.GoTo("http://www.google.co.in")

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

Login.py を実行すると、Firefox は開きますが何もしません。次のようなエラーがスローされます。

"Traceback (most recent call last):
  File "/media/Pinku/Tests/src/Login.py", line 10, in test_Can_Login
    browser.GoTo("http://www.google.co.in")
AttributeError: 'WebDriver' object has no attribute 'GoTo'"

私はここで何かを見落としていますか?間違いを見つけるのに苦労した後、これを投稿します。助けてください!

4

1 に答える 1

2

これは、あなたが定義したクラスではなく、browserのインスタンスであるためです。Firefox

class Test(unittest.TestCase):
    def setUp(self):
        self.browser = Browser()
    def test_Can_Login(self):
        self.browser.GoTo("http://www.google.co.in")

ただし、 の機能をラップする場合はFirefox、グローバル変数を使用する代わりにサブクラス化を検討する必要があります。

class Browser(webdriver.Firefox):
    def GoTo(self, url):
        self.get(url)
于 2013-05-11T18:42:50.037 に答える