Как пройти тест Selenium через python - PullRequest
0 голосов
/ 24 июня 2019

Я исследовал, как зацикливаться на селене, но я не видел ответов, которые бы сработали для меня. По сути, это будут шаги, которые необходимо выполнить в моем коде:

  1. Получить строку за строкой из файла CSV и передать его в веб-приложение
  2. Первые данные в строке 1 будут 1 циклом теста на селен и сохранят данные в веб-приложении
  3. Selenium будет повторять цикл и переходить ко 2-й строке данных в файле CSV, сохранять его снова и повторять цикл до тех пор, пока все данные в CSV не будут сохранены внутри. веб-приложение.

Этот код работает, но он просто останавливается на 1-й строке данных и не переходит на 2-й ряд данных и т. Д. И т. Д.

driver = webdriver.Firefox()
driver.get("https://*****/")

file = open("testfile.csv")
reader = csv.DictReader(file)
data = [row for row in reader]

for row in data:
    Name = (row["Name"])
    Eadd = (row["Eadd"])

time.sleep(10)
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").click()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").send_keys(Name)
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").click()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").clear()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").send_keys(Eadd)

1 Ответ

1 голос
/ 24 июня 2019

Вот логика, которую вы должны реализовать.

driver = webdriver.Firefox()
driver.get("https://*****/")

file = open("testfile.csv")
data = csv.reader(file) #<== if you have a `,` separated csv then you can use below line rather this.
# data = = csv.reader(csvfile, delimiter=',')

for row in data:
    Name = (row["Name"])
    Eadd = (row["Eadd"])

    # use the below if `,` seperated
    #Name = row[0]
    #Eadd = row[1]

    time.sleep(10) 
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").click()
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").send_keys(Name)
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").click()
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").clear()
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").send_keys(Eadd)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...