Я новичок в python, selenium. Во время выполнения я получил следующую ошибку. Я использовал Python 3.5.0отсутствует 1 обязательный аргумент
Как я могу использовать аргумент в этой проблеме? Есть ли альтернативный метод?
Ошибка:
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'
Код:
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. –
Очевидно, вы пытаетесь вызвать свой метод (по какой-то причине внутри вашего определения класса. ПОЧЕМУ ?!) 'test_something()', которые содержат 4 параметра с тремя аргументами. Попробуйте удалить этот метод, вызывающий '' unittest' должен сам его вызвать – Andersson
Thnx @Andersson – kaniska