私はPython、Seleniumの新機能です。私は実行中に次のエラーが発生しました。私はPython 3.5.0を使用しましたが見つかりませんでした1 posional引数が必要です
この問題でどのように議論を使うことができますか? 代替方法はありますか?
エラー:
C:\>python test.py
Enter your username: dg
Enter your password: bn
Address: rty
Traceback (most recent call last):
File "test.py", line 5, in <module>
class TryTestCase(unittest.TestCase):
File "test.py", line 24, in TryTestCase
test_something(username, password, target)
TypeError: test_something() missing 1 required positional argument: 'target'
コード:Pythonのクラスで
import unittest
from selenium import webdriver
class TryTestCase(unittest.TestCase):
username = input('Enter your username: ')
password = input('Enter your password: ')
target = input('Address: ')
def setUpClass(self):
self.driver = webdriver.Firefox()
self.driver.get('https://abcd.com/')
self.driver.implicitly_wait(5)
def test_something(self, username, password, target):
self.driver.find_element_by_xpath("xyz").send_keys(username)
self.driver.find_element_by_xpath("xyz").send_keys(password)
self.driver.find_element_by_xpath("xyz").send_keys(target)
self.driver.implicitly_wait(1)
def tearDownClass(self):
self.driver.close()
test_something(username, password, target)
if __name__ == '__main__':
unittest.main()
テストメソッドを個別に実行する必要はありません。テストランナーはあなたのためにそれを行います。 Pythonファイルを実行するだけです。 –
明らかに、あなたのメソッドを(何らかの理由であなたのクラス定義の中で)呼び出すことを試みます。なぜなら、3つの引数だけを持つ4つのパラメータを含む 'test_something()'です。このメソッドを削除しようとすると、 'unittest'はそれを単独で呼び出すべきです。 – Andersson
Thnx @Andersson – kaniska