Beispiel #1
0
def stepik_send_answer(remote: webdriver.Remote, answer: str):
    remote.get("https://stepik.org/lesson/184253/step/4?unit=158843")
    WebDriverWait(remote,
                  3).until(lambda x: x.find_element_by_tag_name("textarea"))
    remote.find_element_by_tag_name("textarea").send_keys(answer)
    remote.find_element_by_class_name("submit-submission").click()
    WebDriverWait(remote, 3).until(lambda x: x.find_element_by_id("correct"))
Beispiel #2
0
def stepik_send_answer(remote: webdriver.Remote, answer: str):
    remote.get(LINK_LESSON)
    WebDriverWait(remote,
                  3).until(lambda x: x.find_element_by_tag_name("textarea"))
    remote.find_element_by_tag_name("textarea").send_keys(answer)
    remote.find_element_by_class_name("submit-submission").click()
    WebDriverWait(remote, 3).until(lambda x: x.find_element_by_id("correct"))
Beispiel #3
0
    def _send_answer(remote: Remote, link: str, answer_to_send: str) -> None:
        def wait_textarea(_remote: Remote):
            return _remote.find_element_by_css_selector("textarea.textarea")

        def wait_textarea_enabled(_remote: Remote):
            return _remote.find_element_by_tag_name("textarea").is_enabled()

        def wait_correct(_remote: Remote):
            return _remote.find_element_by_class_name("correct")

        remote.get(link)
        WebDriverWait(remote, 3).until(wait_textarea)

        try:
            remote.find_element_by_class_name("again-btn").click()
            WebDriverWait(remote, 3).until(wait_textarea_enabled)
        except NoSuchElementException:
            pass

        remote.find_element_by_css_selector("textarea.textarea").send_keys(
            answer_to_send)
        remote.find_element_by_class_name("submit-submission").click()

        try:
            WebDriverWait(remote, 3).until(wait_correct)
            expected = "Correct!"
            result = remote.find_element_by_class_name(
                "smart-hints__hint").text
            assert result == expected, f"{expected} != {result}"
        except NoSuchElementException:
            assert False, "No smart-hints__hint element on the page after submission"
Beispiel #4
0
def stepik_auth(remote: webdriver.Remote):
    remote.get(LINK_TO_STEPIK)
    WebDriverWait(remote, 3).until(lambda x: x.find_element_by_name("login"))
    remote.find_element_by_name("login").send_keys(LOGIN)
    remote.find_element_by_name("password").send_keys(PASSWORD)
    remote.find_element_by_class_name("sign-form__btn").click()
    WebDriverWait(
        remote,
        3).until(lambda x: x.find_element_by_class_name("navbar__profile-img"))
Beispiel #5
0
def stepik_auth(remote: webdriver.Remote):
    remote.get(auth_link)
    WebDriverWait(remote, 3).until(lambda x: x.find_element_by_name("login"))
    auth_elems = ("login", "password")

    for auth_elem in auth_elems:
        remote.find_element_by_name(auth_elem).send_keys(os.getenv(auth_elem))
    remote.find_element_by_class_name("sign-form__btn").click()
    WebDriverWait(
        remote,
        3).until(lambda x: x.find_element_by_class_name("navbar__profile-img"))
Beispiel #6
0
def test_add_to_basket_button(browser: Remote) -> None:
    browser.get(link)
    assert browser.find_element_by_class_name(
        "btn-add-to-basket"), "The button for adding to basket does not exist"
Beispiel #7
0
 def wait_correct(remote: Remote):
     return remote.find_element_by_class_name("correct")
Beispiel #8
0
 def _get_element_by_class(self, element_class: str,
                           browser: webdriver.Remote):
     return browser.find_element_by_class_name(element_class)