def create_new_customer(firstname, lastname, email): driver = BrowserFactory.getWebdriver() DataStoreFactory.spec_data_store().put(email + '_driver', driver) signup_as(driver, firstname, lastname, email, password="******") msg = WebDriverWait(driver, 10).until(lambda driver: driver.find_element(By.CLASS_NAME, 'messages').text) assert_that(msg, any_of(contains_string("Thank you for registering"), contains_string("There is already an account with this email address")))
def check_order_exists(email): appClient = DataStoreFactory.spec_data_store().get(email + '_app_client') order_id = appClient.get_order_id() driver = DataStoreFactory.spec_data_store().get('admin_driver') navigate_to_orders_page_with_id(driver, order_id) order_block = WebDriverWait( driver, 10).until(lambda driver: driver.find_element( By.CLASS_NAME, 'order-view-account-information').text) assert_that(order_block, contains_string("Order & Account Information"))
def test_Processor_spec_data_store_init_request(self): DataStoreFactory.spec_data_store().put('spec', 'value') self.assertNotEqual(DataStore(), DataStoreFactory.spec_data_store()) response = Message() processors[Message.SpecDataStoreInit](None, response, None) self.assertEqual(Message.ExecutionStatusResponse, response.messageType) self.assertEqual(False, response.executionStatusResponse.executionResult.failed) self.assertEqual(0, response.executionStatusResponse.executionResult.executionTime) self.assertEqual(DataStore(), DataStoreFactory.spec_data_store())
def test_data_store_factory(self): scenario_data_store = DataStoreFactory.scenario_data_store() spec_data_store = DataStoreFactory.spec_data_store() suite_data_store = DataStoreFactory.suite_data_store() data_store = DataStore() self.assertEqual(data_store, scenario_data_store) self.assertEqual(data_store, spec_data_store) self.assertEqual(data_store, suite_data_store)
def test_data_store_factory_as_proxy(self): stores = [ (data_store.scenario, DataStoreFactory.scenario_data_store()), (data_store.spec, DataStoreFactory.spec_data_store()), (data_store.suite, DataStoreFactory.suite_data_store()), ] for (store, proxy) in stores: store['a'] = 'alpha' self.assertTrue(proxy.is_present('a')) self.assertEqual(proxy.get('a'), store['a']) proxy.put('b', 'beta') self.assertIn('b', store) self.assertEqual(store['b'], proxy.get('b')) proxy.clear() self.assertDictEqual(store, {})
def check_order_contains_item_with_sku(sku): driver = DataStoreFactory.spec_data_store().get('admin_driver') sku_block = WebDriverWait(driver, 10).until(lambda driver: driver.find_element( By.CLASS_NAME, 'product-sku-block').text) assert_that(sku_block, contains_string(sku))
def setUp(self): self.setUpPyfakefs() DataStoreFactory.suite_data_store().clear() DataStoreFactory.spec_data_store().clear() DataStoreFactory.scenario_data_store().clear() registry.clear()
def create_cart(email): appClient = DataStoreFactory.spec_data_store().get(email + '_app_client') appClient.create_cart()
def _init_spec_data_store(request, response, socket): DataStoreFactory.spec_data_store().clear() set_response_values(request, response)
def add_cart_items(sku, email): appClient = DataStoreFactory.spec_data_store().get(email + '_app_client') appClient.add_item_to_cart(sku)
def process_cart(email, firstname, lastname, street, city, region, postcode, country, telephone): appClient = DataStoreFactory.spec_data_store().get(email + '_app_client') appClient.set_shipping_info(email, firstname, lastname, street, city, region, postcode, country, telephone) appClient.submit_cart_payment_info(email, firstname, lastname, street, city, region, postcode, country, telephone)
def setUp(self): DataStoreFactory.suite_data_store().clear() DataStoreFactory.spec_data_store().clear() DataStoreFactory.scenario_data_store().clear() registry.clear()
def get_token_for_user(email): appClient = MobileAppClient(email=email) DataStoreFactory.spec_data_store().put(email + '_app_client', appClient) appClient.request_token(password='******')
def close(email): driver = DataStoreFactory.spec_data_store().get(email + '_driver') driver.quit()
def login_as_admin(): driver = BrowserFactory.getWebdriver() DataStoreFactory.spec_data_store().put('admin_driver', driver) login(driver) assert_that(driver.title, contains_string("Dashboard"))
def _init_spec_data_store(request, response, _socket): DataStoreFactory.spec_data_store().clear() set_response_values(request, response)
from getgauge.python import step, before_spec, Messages, DataStoreFactory from src import get_test_client, SignClient, default_infod from os import chdir, curdir # -------------------------- # Gauge step implementations # -------------------------- data_store = DataStoreFactory.spec_data_store() @step("We can get a token if we input right username and password.") def get_token(): Messages.write_message("考虑到频繁执行这个测试的风险,我们暂时搁置这个测试。") """ _, _, token_fact = get_test_client() token = token_fact.make_token() assert token is not None Messages.write_message(f"the token is {len(token)}.") assert len(token) >= 64 data_store.put('token', token) """ @step("after sign, we will get no sign infomation.") def sign_test(): c, _, _ = get_test_client() _, status = c.auto_sign() if status == 0: Messages.write_message("签到看起来成功了,接下来看看我们还能不能签。") _, (e, _) = c.auto_sign() assert e == 3