|
1 | 1 | import time |
| 2 | +from selenium.webdriver.common.by import By |
2 | 3 |
|
3 | 4 | @when('visit url "{url}"') |
4 | 5 | def step(context, url): |
5 | 6 | context.browser.get(url) |
| 7 | + time.sleep(2) |
| 8 | + |
| 9 | +@when("item with xpath '{selector}' is present to be added to cart") |
| 10 | +def step(context, selector): |
| 11 | + item = context.browser.find_element(By.XPATH, selector) |
| 12 | + context.item_to_add = item.text |
6 | 13 |
|
7 | | -@when('field with name "{selector}" is given "{value}"') |
8 | | -def step(context, selector, value): |
9 | | - elem = context.browser.find_element_by_name(selector) |
10 | | - elem.send_keys(value) |
11 | | - elem.submit() |
12 | | - time.sleep(5) |
| 14 | +@when("add to cart button '{selector}' for above item is clicked") |
| 15 | +def step(context, selector): |
| 16 | + add_btn = context.browser.find_element(By.XPATH, selector) |
| 17 | + add_btn.click() |
| 18 | + time.sleep(2) |
13 | 19 |
|
14 | | -@then('title becomes "{title}"') |
15 | | -def step(context, title): |
16 | | - assert context.browser.title == title |
| 20 | +@then("item in cart '{selector}' is same as the one which was added") |
| 21 | +def step(context, selector): |
| 22 | + item = context.browser.find_element(By.XPATH, selector) |
| 23 | + item_in_cart = item.text |
| 24 | + assert item_in_cart == context.item_to_add |
17 | 25 |
|
18 | | -@then(u'page contains "{body}"') |
19 | | -def step(context, body): |
20 | | - assert body in context.browser.page_source |
| 26 | +@then('title contains "{title}"') |
| 27 | +def step(context, title): |
| 28 | + assert title in context.browser.title |
0 commit comments