Example #1
0
def login(automator,at_home=False):
    if not at_home:
        go_to_wp_home(automator)

    user, pwd = automator.config.get_user_option_value("wp.users.admin").split_as_str_list()

    # Login
    automator.element(With.id("user_login")).set_text(user)
    automator.element(With.id("user_pass")).set_text(pwd)
    automator.element(With.id("wp-submit")).click()

    automator.element(With.class_name("welcome-view-site")).wait_until_visible()
Example #2
0
from arjuna.tpi import Arjuna
from arjuna.tpi.guiauto.helpers import With

from commons import *

init_arjuna()
automator = launch_automator()
login(automator)

automator.element(With.link_text("Posts")).click()
automator.element(With.link_text("Add New")).click()

tinymce = With.id("tinymce")
publish = With.id("publish")

# Frame by identifier and jump to root
automator.frame(With.id("content_ifr")).focus()
automator.element(tinymce).set_text("This is a test - frame by name.")
automator.dom_root.focus()
automator.element(publish).click()

# Frame by index
automator.frame(With.index(0)).focus()
automator.element(tinymce).set_text("This is a test - frame by index.")
# Focusing on root from frame itself
automator.dom_root.focus()
automator.element(publish).click()

# jump to parent
frame = automator.frame(With.xpath("//iframe"))
print(frame)
Example #3
0
'''
3. (Especially for custom select controls) - Click the drop down control and then click the option. 
'''

from commons import *
from arjuna.tpi.guiauto.helpers import With, GuiActionConfig

init_arjuna()

automator = launch_automator()

url = automator.config.get_user_option_value("narada.ex.dropdown.url").as_str()
automator.browser.go_to_url(url)

conf = GuiActionConfig.builder().check_type(False).check_post_state(
    False).build()

dropdown = automator.dropdown(
    With.id("DropDown"),
    option_container_locators=With.class_name("dropdown"),
    option_locators=With.class_name("dropdown-item"))
dropdown.configure(conf)
dropdown.select_index(2)

# automator.quit()
from commons import *
from arjuna.tpi.guiauto.helpers import With, Screen

init_arjuna()

automator = launch_automator()
go_to_wp_home(automator)

user, pwd = automator.config.get_user_option_value(
    "wp.users.admin").split_as_str_list()

# Login
automator.element(With.id("user_login")).set_text(user)
automator.element(With.id("user_pass")).set_text(pwd)
automator.element(With.id("wp-submit")).click()

automator.element(With.class_name("welcome-view-site")).wait_until_visible()

# Logout
url = automator.config.get_user_option_value("wp.logout.url").as_str()
automator.browser.go_to_url(url)

automator.element(With.link_ptext("log out")).click()
message = automator.element(With.ptext("logged out")).wait_until_visible()

automator.quit()
from commons import *
from arjuna.tpi.guiauto.helpers import With, Screen

init_arjuna()

automator = launch_automator()
go_to_wp_home(automator)

user, pwd = automator.config.get_user_option_value(
    "wp.users.admin").split_as_str_list()

# Login
user_field = automator.element(With.id("user_login"))
user_field.identify()
user_field.wait_until_clickable()
user_field.set_text(user)

pwd_field = automator.element(With.id("user_pass"))
pwd_field.identify()
pwd_field.wait_until_clickable()
pwd_field.set_text(pwd)

submit = automator.element(With.id("wp-submit"))
submit.identify()
submit.wait_until_clickable()
submit.click()

automator.element(With.class_name("welcome-view-site")).wait_until_visible()

# Logout
url = automator.config.get_user_option_value("wp.logout.url").as_str()
Example #6
0
3 will be covered later when element configuration has been discussed.
'''

from arjuna.tpi import Arjuna
from arjuna.tpi.guiauto.helpers import With

from commons import *

init_arjuna()
automator = launch_automator()
login(automator)

automator.element(With.link_text("Settings")).click()

role_select = automator.dropdown(With.id("default_role"))
role_select.select_value("editor")

role_select.select_visible_text("Subscriber")
print(role_select.has_visible_text_selected("Subscriber"))
print(role_select.has_value_selected("subscriber"))
print(role_select.has_index_selected(2))
print(role_select.first_selected_option_value)
print(role_select.first_selected_option_text)

role_select.select_index(4)
print(role_select.has_index_selected(4))

text = "Subscriber"

role_select.send_option_text(text)
from commons import *
from arjuna.tpi.guiauto.helpers import With, Screen

init_arjuna()

automator = launch_automator()
go_to_wp_home(automator)

# Two identifiers. Only first one would be tried as it succeeds.
element = automator.element(With.id("user_login"), With.name("log"))
element.identify()
print(element.source.content.root)

# Two identifiers. First invalid, second valid. Hence it succeeds by using second With construct
# Identification max wait time is for all With constructs clubbed together.
element = automator.element(With.id("INVALID"), With.name("log"))
element.identify()
print(element.source.content.root)

automator.quit()
Example #8
0
from commons import *
from arjuna.tpi.guiauto.helpers import With

init_arjuna()

automator = launch_automator()
go_to_wp_home(automator)

# The following code is for user name field.
# Html of user name: <input type="text" name="log" id="user_login" class="input" value="" size="20">
element = automator.element(With.id("user_login"))
element.identify()
print(element.source.content.root)

element = automator.element(With.name("log"))
element.identify()
print(element.source.content.root)

element = automator.element(With.class_name("input"))
element.identify()
print(element.source.content.root)

element = automator.element(With.tag_name("input"))
element.identify()
print(element.source.content.root)

# The following options are for
# Html of link: <a href="http://192.168.56.103/wp-login.php?action=lostpassword" title="Password Lost and Found">Lost your password?</a>
element = automator.element(With.link_text("Lost your password?"))
element.identify()
print(element.source.content.root)
Example #9
0
from commons import *
from arjuna.tpi.guiauto.helpers import With, GuiActionConfig

init_arjuna()

automator = launch_automator()

url = automator.config.get_user_option_value(
    "narada.ex.elemstate.url").as_str()
automator.browser.go_to_url(url)

automator.element(With.id("target")).click()
automator.alert.confirm()

automator.browser.go_to_url(url)
conf = GuiActionConfig.builder().check_pre_state(False).build()
print(conf.settings)

automator.element(With.id("target")).configure(conf).click()
automator.alert.confirm()
Example #10
0
from commons import *


def print_source_info(source):
    print(source.content.root)
    print(source.content.all)
    print(source.content.inner)
    print(source.content.text)


init_arjuna()
automator = launch_automator()
go_to_wp_home(automator)

element = automator.element(With.id("loginform"))
print_source_info(element.source)

login(automator, at_home=False)

automator.element(With.link_text("Settings")).click()

# Dopdown
element = automator.dropdown(With.id("default_role"))
print_source_info(element.source)

# Radio
date_format = automator.radio_group(With.name("date_format"))
print_source_info(date_format.source)

# Automator source