Skip to content

Instantly share code, notes, and snippets.

@kkarpieszuk
Created August 4, 2016 10:59
Show Gist options
  • Save kkarpieszuk/f0f4e69ee99fe5897b544a492a758fae to your computer and use it in GitHub Desktop.
Save kkarpieszuk/f0f4e69ee99fe5897b544a492a758fae to your computer and use it in GitHub Desktop.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
wp_url = "http://localhost/qatests/"
wp_admin_url = wp_url + "wp-admin/"
wp_login_url = wp_url + "wp-login.php"
wp_plugins_url = wp_admin_url + "plugins.php"
wp_login = "konrad"
wp_pass = "1"
driver = webdriver.Chrome(executable_path="/home/konrad/.programy/chromedriver")
driver.implicitly_wait(10)
driver.get(wp_login_url)
login_field = driver.find_element_by_name("log")
login_field.clear()
login_field.send_keys(wp_login)
pass_field = driver.find_element_by_name("pwd")
pass_field.clear()
pass_field.send_keys(wp_pass)
submit_btn = driver.find_element_by_name("wp-submit")
submit_btn.click()
driver.get(wp_plugins_url)
wpml_activate_link = driver.find_element_by_css_selector("tr.inactive[data-slug='wpml-multilingual-cms'] span.activate a.edit")
wpml_activate_link.click()
start_wizard_link = driver.find_element_by_link_text("No thanks, I will configure myself")
start_wizard_link.click()
current_language_next_link = driver.find_element_by_css_selector("#icl_initial_language .buttons-wrap .button-primary")
current_language_next_link.click()
polish_checkbox = driver.find_element_by_css_selector("input[value='pl']")
polish_checkbox.click()
additional_language_next_link = driver.find_element_by_css_selector("#icl_setup_next_1")
additional_language_next_link.click()
widgets = driver.find_elements_by_css_selector("#icl_language_switcher_sidebars input")
for x in range(0, len(widgets)):
if widgets[x].is_displayed():
widgets[x].click()
flags_checkbox = driver.find_element_by_name("icl_lso_flags")
flags_checkbox.click()
footer_checkbox = driver.find_element_by_name("icl_lang_sel_footer")
footer_checkbox.click()
post_translations_links_checkbox = driver.find_element_by_name("icl_post_availability")
post_translations_links_checkbox.click()
language_settings_next_link = driver.find_element_by_css_selector("[value='Next']")
language_settings_next_link.click()
remind_me_later_link = driver.find_element_by_name("later")
remind_me_later_link.click()
try:
finish_link = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.NAME, "finish"))
)
finally:
time.sleep(2)
finish_link.click()
dismiss_button = driver.find_element_by_css_selector("span.installer-dismiss-nag.notice-dismiss span")
webdriver.ActionChains(driver).move_to_element(dismiss_button).click(dismiss_button).perform()
time.sleep(2)
driver.get(wp_admin_url)
assert "To get automatic updates, you need to register WPML for this site." not in driver.page_source
driver.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment