0

Selenium IDE から Selenium スクリプトを Python にエクスポートしようとしています。ただし、いくつかの user-extension.js 関数を使用しています (Selenium IDE で動作しています)。Python にエクスポートすると、生成されたスクリプトは次のようになります。

from selenium import selenium
import unittest, time, re

class new_selenium_test(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", 4444, "*chrome", "http://localhost/")
        self.selenium.start()

    def test_selenium_assert_something(self):
        sel = self.selenium
        # sel.assert_something("abc=1", "x=126")

    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

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

ユーザー拡張コードを呼び出す最も興味深い行 (user-extensions.js ファイルの関数 "assertSomething" にマップされる関数 "assert_something") がコメント化されていることに注意してください。その行をアクティブにして、次のように Selenium サーバーに対してスクリプトを実行すると:

py.test new-selenium-test.py

次のようなエラーが表示されます。

AttributeError: 'selenium' object has no attribute 'assert_something'

Selenium IDE がカスタム コールをコメントアウトする理由と、Python から実行しない理由を教えてください。

次のようにSeleniumサーバーを起動したことに注意してください。

java -jar selenium-server-standalone-2.0rc2.jar -userExtensions /path/user-extensions.js

ご協力いただきありがとうございます!

4

1 に答える 1

0

ここで説明するように、カスタム JavaScript 関数を Python で書き直す必要があります。

http://groups.google.com/group/selenium-users/browse_thread/thread/e927dad7e6cb2944/1712b997934cece5

Python オブジェクトをカスタム JS に接続することはできないため、そのコメントをそこに残して、Python で実装することを思い出させます。

于 2011-07-19T13:05:12.273 に答える