Bir test durumu verdim ve .py dosyası olarak kaydettim. Bir metin dosyasındaki verileri okumak için, test ettiğim web sitesine giriş yapmak için girdiler olarak düzenlemek istiyorum. Bir girişe izin vermesi gereken örnek kullanıcı adı ve şifre sırasıyla 1 ve pwd1'dir. Ancak bu değerleri bir dosyadan okuduğumda, okunan ilk satırlara erişerek, readlines() kullanarak, oturum açarken ve test durumu başarısız olduğunda başarısızlık gösterir. Okunan satırların okuduğu ilgili satırın boyutunu yazdırdığımda, boyutu olması gerekenden 1'dir. yani boyut = 2 iken, kullanıcı adımın boyutu 1, varsayım 1 olmalıdır. Bu test vakasında başarı elde etmek için yardıma ihtiyacınız var. =Düzenleme Selenium (python) dışa aktarılan bir test dosyasından veri okumak için bir vaka
/source.jsp
pwd1
(// girişi [değer @ şu şekildedir:
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re
import time
class A6Test2(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://localhost:8080"
self.verificationErrors = []
self.accept_next_alert = True
def test_a6_test2(self):
fh = open("cases.txt", "r")
data=fh.readlines()
uname1=data[1]
pwd1=data[2]
driver = self.driver
driver.get(self.base_url + data[0])
driver.find_element_by_name("p_id").clear()
driver.find_element_by_name("p_id").send_keys(data[1])
driver.find_element_by_name("p_passw").clear()
driver.find_element_by_name("p_passw").send_keys(data[2])
time.sleep(5)
driver.find_element_by_xpath("(//input[@value='Submit'])[2]").click()
time.sleep(3)
driver.find_element_by_css_selector("input[type=\"SUBMIT\"]").click()
driver.find_element_by_link_text(data[5]).click()
driver.get(self.base_url + data[6])
time.sleep(3)
driver.find_element_by_name("p_id").clear()
driver.find_element_by_name("p_id").send_keys(data[7])
time.sleep(3)
driver.find_element_by_name("p_passw").clear()
driver.find_element_by_name("p_passw").send_keys(data[8])
time.sleep(3)
driver.find_element_by_xpath("(//input[@value='Submit'])[2]").click()
time.sleep(3)
driver.find_element_by_css_selector("input[type=\"SUBMIT\"]").click()
driver.find_element_by_link_text(data[11]).click()
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException as e: return False
return True
def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException as e: return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()
Benim cases.txt geçerli: İşte benim kodudur 'Gönder']) [2]
input [type = \ "SUBMIT \"]
.210/source.jsp
pwd1
(// girişi [değeri @ = 'Gönder']) [2]
giriş
Çıkış Yap [türü = \ "SUBMIT \"]
Çıkış yapın
Oh. Sadece bunu denedim. Çalışıyor. Teşekkür ederim. –