本文整理汇总了Python中shuup.testing.browser_utils.wait_until_appeared函数的典型用法代码示例。如果您正苦于以下问题:Python wait_until_appeared函数的具体用法?Python wait_until_appeared怎么用?Python wait_until_appeared使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wait_until_appeared函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _test_language_change
def _test_language_change(browser):
assert browser.is_element_present_by_css("h2[class='block-title']")
# By default the initialization the admin should be in English
found_customer_details_en = False
for block_title in browser.find_by_css("h2[class='block-title']"):
if "Customer Details" in block_title.text:
found_customer_details_en = True
assert found_customer_details_en
# Make sure that the translations is handled correctly and change to Finnish
browser.find_by_id("dropdownMenu").click()
browser.find_by_xpath('//a[@data-value="fi"]').first.click()
wait_until_appeared(browser, "h2[class='block-title']")
found_customer_details_fi = False
for block_title in browser.find_by_css("h2[class='block-title']"):
if "Asiakkaan tiedot" in block_title.text:
found_customer_details_fi = True
assert found_customer_details_fi
# And back in English
browser.find_by_id("dropdownMenu").click()
browser.find_by_xpath('//a[@data-value="en"]').first.click()
wait_until_appeared(browser, "h2[class='block-title']")
示例2: _set_settings
def _set_settings(browser):
assert not browser.is_text_present("Internal Identifier")
browser.find_by_css(".btn.btn-default.btn-inverse").click()
browser.find_by_id("id_view_configuration_contact_identifier").click()
browser.find_by_css(".btn.btn-success").click()
wait_until_appeared(browser, ".picotable-item-info")
assert browser.is_text_present("Internal Identifier")
示例3: _test_customer_data
def _test_customer_data(browser, person):
# check defaults
assert browser.find_by_css("input[name='save-address']").first.checked == True
assert browser.find_by_css("input[name='ship-to-billing-address']").first.checked == False
assert browser.find_by_css("input[name='order-for-company']").first.checked == False
assert not browser.find_by_css("input[name='billing-tax_number']").first['required']
browser.check("ship-to-billing-address")
browser.check("order-for-company")
assert len(browser.find_by_css("input[name='shipping-name']")) == 0, "shipping address column is hidden"
assert browser.find_by_css("input[name='billing-tax_number']").first['required'], "tax number is required"
browser.uncheck("order-for-company")
click_element(browser, "#select-existing-customer")
browser.windows.current = browser.windows[1]
wait_until_appeared(browser, "a")
# click second row - first row is admin
browser.find_by_css("tbody tr")[1].find_by_css("a").click()
browser.windows.current = browser.windows[0]
# check fields were set
wait_until_condition(
browser, lambda x: x.find_by_name("billing-name").value == person.name)
assert browser.find_by_name("billing-name").value == person.name
assert browser.find_by_name("billing-street").value == person.default_billing_address.street
assert browser.find_by_name("billing-city").value == person.default_billing_address.city
assert browser.find_by_name("billing-country").value == person.default_billing_address.country
示例4: _set_settings
def _set_settings(browser):
assert not browser.is_text_present("Account Manager")
browser.find_by_css(".btn.btn-default.btn-inverse").click()
browser.find_by_css(".btn.btn-xs.btn-success.btn-add-sortable").first.click()
browser.find_by_css(".btn.btn-success").first.click()
wait_until_appeared(browser, ".picotable-item-info")
wait_until_condition(browser, lambda x: x.is_text_present("Account Manager"))
示例5: test_product_create
def test_product_create(browser, admin_user, live_server, settings):
activate("en")
shop = get_default_shop()
get_default_product_type()
get_default_sales_unit()
get_default_tax_class()
configuration.set(None, "shuup_product_tour_complete", True)
object_created.connect(_add_custom_product_created_message, sender=Product, dispatch_uid="object_created_signal_test")
initialize_admin_browser_test(browser, live_server, settings)
url = reverse("shuup_admin:shop_product.new")
browser.visit("%s%s" % (live_server, url))
sku = "testsku"
name = "Some product name"
price_value = 10
short_description = "short but gold"
browser.fill("base-sku", sku)
browser.fill("base-name__en", name)
browser.fill("base-short_description__en", short_description)
browser.fill("shop%s-default_price_value" % shop.pk, price_value)
configuration.set(None, "shuup_category_tour_complete", True)
_add_primary_category(browser, shop)
_add_additional_category(browser, shop)
click_element(browser, "button[form='product_form']")
wait_until_appeared(browser, "div[class='message success']")
product = Product.objects.filter(sku=sku).first()
assert product.log_entries.filter(identifier=OBJECT_CREATED_LOG_IDENTIFIER).count() == 1
object_created.disconnect(sender=Product, dispatch_uid="object_created_signal_test")
shop_product = product.get_shop_instance(shop)
assert shop_product.categories.count() == 2
示例6: _save_category
def _save_category(iframe): # TODO: Revise! It seems that iframes are hard for Travis
time.sleep(3) # Let's just wait here to the iFrame to open fully (for Chrome and headless)
wait_until_appeared(iframe, "button[form='category_form']")
try:
click_element(iframe, "button[form='category_form']")
except selenium.common.exceptions.SessionNotCreatedException as e:
click_element(iframe, "button[form='category_form']")
示例7: set_status
def set_status(browser, order, status):
click_element(browser, "button.set-status-button")
form_action = reverse("shuup_admin:order.set-status", kwargs={"pk": order.pk})
click_element(browser, "button[formaction='%s'][value='%s']" % (form_action, status.pk))
wait_until_appeared(browser, "div[class='message success']")
wait_until_condition(browser, condition=lambda x: x.is_text_present("Order %s" % order.pk))
order.refresh_from_db()
assert order.status.pk == status.pk
示例8: _test_toolbar_visibility
def _test_toolbar_visibility(browser, live_server, order):
url = reverse("shuup_admin:order.detail", kwargs={"pk": order.pk})
browser.visit("%s%s" % (live_server, url))
wait_until_appeared(browser, "#order_details")
_check_create_refund_link(browser, order, False)
order.create_payment(order.taxful_total_price)
browser.reload()
wait_until_appeared(browser, "#order_details")
_check_create_refund_link(browser, order, True)
示例9: _add_product_to_basket_from_category
def _add_product_to_basket_from_category(live_server, browser, first_category, shop):
url = reverse("shuup:category", kwargs={"pk": first_category.pk, "slug": first_category.slug})
browser.visit("%s%s" % (live_server, url))
wait_until_condition(browser, lambda x: x.is_text_present(first_category.name))
# Make sure that the correct price is visible
product = Product.objects.filter(sku="test-sku-2").first()
selector = "#product-%s div.price-line span.lead strong" % product.id
wait_until_condition(browser, lambda x: "720" in x.find_by_css(selector).first.text)
# Test product price update
new_price = 42
shop_product = product.get_shop_instance(shop)
shop_product.default_price_value = new_price
shop_product.save()
discount_amount = 5
_create_category_product_discount(first_category, shop, discount_amount)
browser.reload()
wait_until_condition(
browser,
lambda x: str(new_price - discount_amount) in x.find_by_css(selector).first.text
)
# Go to product detail and update the price one more time
click_element(browser, selector)
product_detail_price_selector = "#product-price-div-%s span.product-price strong" % product.id
wait_until_appeared(browser, product_detail_price_selector)
wait_until_condition(
browser,
lambda x: str(new_price - discount_amount) in x.find_by_css(product_detail_price_selector).first.text)
last_price = 120.53
shop_product = product.get_shop_instance(shop)
shop_product.default_price_value = last_price
shop_product.save()
new_discount_amount = 10
_create_category_product_discount(first_category, shop, new_discount_amount)
browser.reload()
wait_until_condition(
browser,
lambda x: str(last_price - new_discount_amount) in x.find_by_css(product_detail_price_selector).first.text
)
# Add product to basket and navigate to basket view
click_element(browser, "#add-to-cart-button-%s" % product.pk) # add product to basket
wait_until_appeared(browser, ".cover-wrap")
wait_until_disappeared(browser, ".cover-wrap")
click_element(browser, "#navigation-basket-partial") # open upper basket navigation menu
click_element(browser, "a[href='/basket/']") # click the link to basket in dropdown
wait_until_condition(browser, lambda x: x.is_text_present("Shopping cart")) # we are in basket page
wait_until_condition(browser, lambda x: x.is_text_present(product.name)) # product is in basket
示例10: test_dev_onboarding
def test_dev_onboarding(browser, admin_user, live_server, settings):
Shop.objects.first().delete() # Delete first shop created by test initializations
call_command("shuup_init", *[], **{})
shop = Shop.objects.first()
assert shop.maintenance_mode
initialize_admin_browser_test(browser, live_server, settings, onboarding=True)
browser.fill("address-first_name", "Matti")
browser.fill("address-last_name", "Teppo")
browser.fill("address-phone", "112")
browser.fill("address-street", "Teststreet")
browser.fill("address-postal_code", "20540")
browser.fill("address-city", "Turku")
click_element(browser, "#select2-id_address-country-container")
wait_until_appeared(browser, "input.select2-search__field")
browser.find_by_css("input.select2-search__field").first.value = "Finland"
wait_until_appeared(browser, ".select2-results__option:not([aria-live='assertive'])")
browser.execute_script('$($(".select2-results__option")[0]).trigger({type: "mouseup"})')
click_element(browser, "button[name='next']")
wait_until_condition(browser, lambda x: x.is_text_present("To start accepting payments right away"))
click_element(browser, "div[data-name='manual_payment'] button[name='activate']")
browser.fill("manual_payment-service_name", "Laskulle")
click_element(browser, "button[name='next']")
wait_until_condition(browser, lambda x: x.is_text_present("To start shipping products right away"))
click_element(browser, "div[data-name='manual_shipping'] button[name='activate']")
browser.fill("manual_shipping-service_name", "Kotiinkuljetus")
click_element(browser, "button[name='next']")
wait_until_condition(browser, lambda x: x.is_text_present("theme for your shop"))
click_element(browser, "div[data-identifier='candy_pink'] button[data-theme='shuup.themes.classic_gray']")
click_element(browser, "button[name='next']")
wait_until_condition(browser, lambda x: x.is_text_present("initial content and configure"))
click_element(browser, "button[name='next']")
wait_until_condition(browser, lambda x: x.is_text_present("install some sample data"))
browser.execute_script('document.getElementsByName("sample-categories")[0].checked=true')
browser.execute_script('document.getElementsByName("sample-products")[0].checked=true')
click_element(browser, "button[name='next']")
wait_until_condition(browser, lambda x: x.is_text_present("Welcome to Shuup!"))
click_element(browser, "input[value='Publish shop']")
shop.refresh_from_db()
assert not shop.maintenance_mode
assert Product.objects.count() == 10
supplier = Supplier.objects.first()
customer = AnonymousContact()
assert len([
product for product in Product.objects.all()
if product.get_shop_instance(shop).is_orderable(supplier, customer, 1)
]) == 10
示例11: _test_confirm
def _test_confirm(browser):
total = sum([decimal.Decimal(total_el.value) for total_el in browser.find_by_css("input[name='total']")])
assert str(total) in browser.find_by_css(".order-footer h2").text, "order total is correct"
click_element(browser, ".order-footer button")
wait_until_appeared(browser, ".btn-danger") # wait until the back button appears
assert len(browser.find_by_css("table tbody tr")) == 5, "2 line items, 2 methods, 1 total line shown in confirmation table"
# click confirm
click_element(browser, ".btn-success")
wait_until_appeared(browser, "#details-status-section")
assert Order.objects.count() == 1, "order created"
示例12: test_xtheme_snippet_injection
def test_xtheme_snippet_injection(browser, admin_user, live_server, settings):
shop = factories.get_default_shop()
initialize_admin_browser_test(browser, live_server, settings)
url = reverse("shuup_admin:xtheme_snippet.new")
browser.visit("%s%s" % (live_server, url))
wait_until_condition(browser, lambda x: x.is_text_present("New Snippet"))
browser.execute_script("$(\"[name='location']\").val('body_end').trigger('change')")
browser.execute_script("$(\"[name='snippet_type']\").val('inline_js').trigger('change')")
browser.execute_script("window.CodeMirror.editors['id_snippet-snippet'].setValue('alert(\"works\")');")
click_element(browser, "button[type='submit']")
wait_until_appeared(browser, "div[class='message success']")
url = reverse("shuup:index")
browser.visit("%s%s" % (live_server, url))
def has_alert(browser):
try:
return browser.get_alert().text == "works"
except:
return False
wait_until_condition(browser, has_alert)
browser.get_alert().accept()
theme = get_current_theme(shop)
snippet = Snippet.objects.filter(shop=shop).first()
snippet.themes = [theme.identifier]
snippet.save()
cache.clear()
browser.visit("%s%s" % (live_server, url))
wait_until_condition(browser, has_alert)
browser.get_alert().accept()
snippet.themes = ["doesnt-exist"]
snippet.save()
cache.clear()
browser.visit("%s%s" % (live_server, url))
wait_until_condition(browser, lambda x: x.is_text_present("Welcome to Default!"))
with pytest.raises(Exception):
browser.get_alert()
# delete the snippet
url = reverse("shuup_admin:xtheme_snippet.edit", kwargs=dict(pk=snippet.pk))
browser.visit("%s%s" % (live_server, url))
assert Snippet.objects.filter(shop=shop).exists()
click_element(browser, ".shuup-toolbar button.btn.btn-danger")
browser.get_alert().accept()
wait_until_condition(browser, lambda x: not Snippet.objects.filter(shop=shop).exists())
示例13: _test_regions
def _test_regions(browser, person):
with pytest.raises(ElementDoesNotExist):
browser.find_by_css("input[name='billing-region_code']").first
assert browser.find_by_css("input[name='billing-region']").first
browser.select("billing-country", "US")
wait_until_appeared(browser, "select[name='billing-region_code']")
with pytest.raises(ElementDoesNotExist):
browser.find_by_css("input[name='billing-region']").first
browser.select("billing-region_code", "CA")
browser.select("billing-country", "CG") # Congo does not have regions defined
wait_until_appeared(browser, "input[name='billing-region']")
browser.select("billing-country", person.default_billing_address.country)
示例14: _test_create_full_refund
def _test_create_full_refund(browser, live_server, order):
url = reverse("shuup_admin:order.create-refund", kwargs={"pk": order.pk})
browser.visit("%s%s" % (live_server, url))
wait_until_condition(browser, lambda x: x.is_text_present("Refunded: %s" % format_money(order.shop.create_price("0.00"))))
wait_until_condition(browser, lambda x: x.is_text_present("Remaining: %s" % format_money(order.taxful_total_price)))
url = reverse("shuup_admin:order.create-full-refund", kwargs={"pk": order.pk})
click_element(browser, "a[href='%s']" % url)
wait_until_condition(browser, lambda x: x.is_text_present("Refund Amount: %s" % format_money(order.taxful_total_price)))
click_element(browser, "#create-full-refund")
wait_until_appeared(browser, "#order_details")
_check_create_refund_link(browser, order, False)
order.refresh_from_db()
assert not order.taxful_total_price
assert order.is_paid()
assert order.is_fully_shipped()
示例15: guest_ordering_test
def guest_ordering_test(browser, live_server):
browser.fill("login-username", "test-username")
click_element(browser, "button[name='login']")
wait_until_appeared(browser, "div.form-group.passwordinput.required.has-error")
browser.fill("login-password", "test-password")
click_element(browser, "button[name='login']")
wait_until_condition(browser, lambda x: x.is_text_present("Please enter a correct username and password."))
wait_until_appeared(browser, "div.alert.alert-danger")
click_element(browser, "button[data-id='id_checkout_method_choice-register']")
click_element(browser, "li[data-original-index='0'] a")
click_element(browser, "div.clearfix button.btn.btn-primary.btn-lg.pull-right")
wait_until_condition(browser, lambda x: x.is_text_present("Checkout: Addresses"))
url = reverse("shuup:checkout", kwargs={"phase": "checkout_method"})
browser.visit("%s%s" % (live_server, url))