Update example tests
This commit is contained in:
parent
8ecee57145
commit
655c5c108a
|
@ -1,10 +1,18 @@
|
|||
"""google.com example test that uses page objects"""
|
||||
from seleniumbase import BaseCase
|
||||
from .google_objects import HomePage, ResultsPage
|
||||
try:
|
||||
from .google_objects import HomePage, ResultsPage
|
||||
except Exception:
|
||||
from google_objects import HomePage, ResultsPage
|
||||
BaseCase.main(__name__, __file__)
|
||||
|
||||
|
||||
class GoogleTests(BaseCase):
|
||||
def test_google_dot_com(self):
|
||||
if self.headless and self._multithreaded:
|
||||
self.open_if_not_url("about:blank")
|
||||
print("Skipping test in headless multi-threaded mode.")
|
||||
self.skip("Skipping test in headless multi-threaded mode.")
|
||||
self.open("https://google.com/ncr")
|
||||
self.assert_title_contains("Google")
|
||||
self.sleep(0.05)
|
||||
|
|
|
@ -33,6 +33,10 @@ class SeleniumBaseIOPage:
|
|||
|
||||
class MyTests(BaseCase):
|
||||
def test_page_objects(self):
|
||||
if self.headless and self._multithreaded:
|
||||
self.open_if_not_url("about:blank")
|
||||
print("Skipping test in headless multi-threaded mode.")
|
||||
self.skip("Skipping test in headless multi-threaded mode.")
|
||||
search_term = "SeleniumBase.io Docs"
|
||||
expected_text = "SeleniumBase"
|
||||
GooglePage().go_to_google(self)
|
||||
|
|
|
@ -4,9 +4,18 @@ BaseCase.main(__name__, __file__)
|
|||
|
||||
class LocaleCodeTests(BaseCase):
|
||||
def test_locale_code(self):
|
||||
self.open("https://localeplanet.com/support/browser.html")
|
||||
locale_code = self.get_locale_code()
|
||||
self.open("about:blank")
|
||||
locale_code = self.get_locale_code() # navigator.language
|
||||
print("\nYour Browser's Locale Code: %s" % locale_code)
|
||||
expected_text = "navigator.language: %s" % locale_code
|
||||
self.demo_mode = True # Display test actions
|
||||
self.assert_text(expected_text, "pre")
|
||||
if self.browser == "chrome" and not self.headless:
|
||||
self.open("chrome://settings/languages")
|
||||
language_info = self.get_text(
|
||||
"settings-ui::shadow "
|
||||
"settings-main::shadow "
|
||||
"settings-basic-page::shadow "
|
||||
"settings-languages-page::shadow "
|
||||
"#languagesSection div.start div"
|
||||
)
|
||||
print("Language info (chrome://settings/languages):")
|
||||
print(language_info)
|
||||
self.sleep(1)
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
from seleniumbase import SB
|
||||
|
||||
|
||||
def click_turnstile_and_verify(sb):
|
||||
sb.driver.reconnect(0.1)
|
||||
iframe = sb.driver.find_element("iframe")
|
||||
sb.driver.reconnect(0.5)
|
||||
sb.driver.switch_to.frame(iframe)
|
||||
sb.driver.uc_click("span.mark")
|
||||
sb.highlight("img#captcha-success", timeout=3.33)
|
||||
|
||||
|
||||
with SB(uc=True, test=True) as sb:
|
||||
sb.driver.uc_open_with_reconnect(
|
||||
"https://seleniumbase.io/apps/form_turnstile",
|
||||
reconnect_time=2.33,
|
||||
)
|
||||
try:
|
||||
click_turnstile_and_verify(sb)
|
||||
except Exception:
|
||||
sb.driver.uc_open_with_reconnect(
|
||||
"https://seleniumbase.io/apps/form_turnstile",
|
||||
reconnect_time=2.33,
|
||||
)
|
||||
click_turnstile_and_verify(sb)
|
||||
sb.press_keys("#name", "SeleniumBase")
|
||||
sb.press_keys("#email", "test@test.test")
|
||||
sb.press_keys("#phone", "1-555-555-5555")
|
||||
sb.click('[for="date"]')
|
||||
sb.click("td.is-today button")
|
||||
sb.click('div[class="select-wrapper"] input')
|
||||
sb.click('span:contains("9:00 PM")')
|
||||
sb.highlight_click('input[value="AR"] + span')
|
||||
sb.click('input[value="cc"] + span')
|
||||
sb.highlight_click('button:contains("Request & Pay")')
|
||||
sb.highlight("img#submit-success")
|
||||
sb.highlight('button:contains("Success!")')
|
|
@ -0,0 +1,16 @@
|
|||
from seleniumbase import SB
|
||||
|
||||
with SB(uc=True, test=True) as sb:
|
||||
sb.driver.uc_open_with_reconnect(
|
||||
"https://seleniumbase.io/apps/turnstile",
|
||||
reconnect_time=2.33,
|
||||
)
|
||||
sb.driver.reconnect(0.1)
|
||||
iframe = sb.driver.find_element("iframe")
|
||||
sb.driver.reconnect(0.5)
|
||||
sb.driver.switch_to.frame(iframe)
|
||||
sb.driver.uc_click("span.mark")
|
||||
sb.switch_to_default_content()
|
||||
sb.assert_element("img#captcha-success", timeout=3.33)
|
||||
sb.set_messenger_theme(location="top_left")
|
||||
sb.post_message("Selenium wasn't detected!", duration=3)
|
|
@ -0,0 +1,28 @@
|
|||
from seleniumbase import BaseCase
|
||||
BaseCase.main(__name__, __file__)
|
||||
|
||||
|
||||
class CDPNetworkBlockingTests(BaseCase):
|
||||
def test_cdp_network_blocking(self):
|
||||
if not self.is_chromium:
|
||||
self.skip("This test is only for Chromium browsers!")
|
||||
self.execute_cdp_cmd(
|
||||
'Network.setBlockedURLs', {"urls": [
|
||||
"*googlesyndication.com*",
|
||||
"*doubleclick.net*",
|
||||
"*adsafeprotected.com*",
|
||||
"*2mdn.net*",
|
||||
"*googletagmanager.com*",
|
||||
"*adsafeprotected.com*",
|
||||
"*snigelweb.com*",
|
||||
"*fastclick.net*",
|
||||
"*amazon-adsystem.com*",
|
||||
"*google-analytics.com*",
|
||||
]})
|
||||
self.execute_cdp_cmd('Network.enable', {})
|
||||
self.open('https://www.w3schools.com/jquery/default.asp')
|
||||
source = self.get_page_source()
|
||||
self.assert_true("doubleclick.net" not in source)
|
||||
self.assert_true("google-analytics.com" not in source)
|
||||
if self.demo_mode:
|
||||
self.post_message("Blocking was successful!")
|
|
@ -5,6 +5,7 @@
|
|||
import pytest
|
||||
from parameterized import parameterized
|
||||
from seleniumbase import BaseCase
|
||||
BaseCase.main(__name__, __file__, "-n6")
|
||||
|
||||
url = "data:text/html,<h2>Hello</h2><p><input /> <button>OK!</button></p>"
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ class 我的测试类(硒测试用例):
|
|||
self.开启("https://zh.wikipedia.org/wiki/")
|
||||
self.断言标题("维基百科,自由的百科全书")
|
||||
self.断言元素('a[title="Wikipedia:关于"]')
|
||||
self.断言元素('span:contains("创建账号")')
|
||||
self.断言元素('span:contains("登录")')
|
||||
self.断言文本("新闻动态", "span#新闻动态")
|
||||
self.输入文本('input[name="search"]', "舞龍")
|
||||
self.单击('button:contains("搜索")')
|
||||
|
|
Loading…
Reference in New Issue