Reputation: 1
The selenium script below works and does what i need. But as you can see the script is pretty ugly and very redundant and my aim is to make the code smaller and less redundant.
What it does now is to initiate 5 chrome session entering 5 different credentials. I know I should be able to solve a lot by using loops but unfortunatelly my programming skills are not that good.
def setUp(self):
self.driver1 = webdriver.Chrome("C:\chromedriver\chromedriver.exe")
self.driver2 = webdriver.Chrome("C:\chromedriver\chromedriver.exe")
self.driver3 = webdriver.Chrome("C:\chromedriver\chromedriver.exe")
self.driver4 = webdriver.Chrome("C:\chromedriver\chromedriver.exe")
self.driver5 = webdriver.Chrome("C:\chromedriver\chromedriver.exe")
def test_affersverken(self):
###############driver1##########################
driver1 = self.driver1
driver1.get("www.somepage.com")
linkmenus = self.driver1.find_elements_by_xpath(
".//ul[@id='superfish-1' and @class='sf-menu menu-universe-menu sf- horizontal sf-style-none sf-js-enabled']/li/a")
listmenus = []
for menus in linkmenus:
listmenus.append(menus.text)
lastMenu = listmenus[-1]
WebDriverWait(self.driver1, 10).until(EC.presence_of_element_located((By.LINK_TEXT, lastMenu))).click()
username1 = self.driver1.find_element_by_xpath(".//*[@id='edit-name']")
username1.send_keys(someuser)
password1 = self.driver1.find_element_by_xpath(".//*[@id='edit-pass']")
password1.send_keys(somepassword)
submit1 = self.driver1.find_element_by_xpath(".//*[@id='edit-submit']")
submit1.submit()
###############driver2##########################
driver2 = self.driver2
driver2.get("www.somepage.com")
linkmenus = self.driver2.find_elements_by_xpath(
".//ul[@id='superfish-1' and @class='sf-menu menu-universe-menu sf-horizontal sf-style-none sf-js-enabled']/li/a")
listmenus = []
for menus in linkmenus:
listmenus.append(menus.text)
lastMenu = listmenus[-1]
WebDriverWait(self.driver2, 10).until(EC.presence_of_element_located((By.LINK_TEXT, lastMenu))).click()
username2 = self.driver2.find_element_by_xpath(".//*[@id='edit-name']")
username2.send_keys(someuser)
password2 = self.driver2.find_element_by_xpath(".//*[@id='edit-pass']")
password2.send_keys(somepassword)
submit2 = self.driver2.find_element_by_xpath(".//*[@id='edit-submit']")
submit2.submit()
###############driver3##########################
driver3 = self.driver3
driver3.get("www.somepage.com")
linkmenus = self.driver3.find_elements_by_xpath(
".//ul[@id='superfish-1' and @class='sf-menu menu-universe-menu sf-horizontal sf-style-none sf-js-enabled']/li/a")
listmenus = []
for menus in linkmenus:
listmenus.append(menus.text)
lastMenu = listmenus[-1]
WebDriverWait(self.driver3, 10).until(EC.presence_of_element_located((By.LINK_TEXT, lastMenu))).click()
username3 = self.driver3.find_element_by_xpath(".//*[@id='edit-name']")
username3.send_keys(someuser)
password3 = self.driver3.find_element_by_xpath(".//*[@id='edit-pass']")
password3.send_keys(somepassword)
submit3 = self.driver3.find_element_by_xpath(".//*[@id='edit-submit']")
submit3.submit()
###############driver4##########################
driver4 = self.driver4
driver4.get("www.somepage.com")
linkmenus = self.driver4.find_elements_by_xpath(
".//ul[@id='superfish-1' and @class='sf-menu menu-universe-menu sf-horizontal sf-style-none sf-js-enabled']/li/a")
listmenus = []
for menus in linkmenus:
listmenus.append(menus.text)
lastMenu = listmenus[-1]
WebDriverWait(self.driver4, 10).until(EC.presence_of_element_located((By.LINK_TEXT, lastMenu))).click()
username4 = self.driver4.find_element_by_xpath(".//*[@id='edit-name']")
username4.send_keys("someuser")
password4 = self.driver4.find_element_by_xpath(".//*[@id='edit-pass']")
password4.send_keys(somepassword)
submit4 = self.driver4.find_element_by_xpath(".//*[@id='edit-submit']")
submit4.submit()
###############driver5##########################
driver5 = self.driver5
driver5.get("www.somepage.com")
linkmenus = self.driver5.find_elements_by_xpath(
".//ul[@id='superfish-1' and @class='sf-menu menu-universe-menu sf-horizontal sf-style-none sf-js-enabled']/li/a")
listmenus = []
for menus in linkmenus:
listmenus.append(menus.text)
lastMenu = listmenus[-1]
WebDriverWait(self.driver5, 10).until(EC.presence_of_element_located((By.LINK_TEXT, lastMenu))).click()
username5 = self.driver5.find_element_by_xpath(".//*[@id='edit-name']")
username5.send_keys(someuser)
password5 = self.driver5.find_element_by_xpath(".//*[@id='edit-pass']")
password5.send_keys(somepassword)
submit5 = self.driver5.find_element_by_xpath(".//*[@id='edit-submit']")
submit5.submit()
time.sleep(20)
def tearDown(self):
self.driver1.quit()
self.driver2.quit()
self.driver3.quit()
self.driver4.quit()
self.driver5.quit()
Upvotes: 0
Views: 1476