#!/usr/bin/env python3 # -*- coding: utf-8 -*- # https://chromedriver.chromium.org/downloads # 7z x chromedriver_linux64.zip # sudo mv chromedriver /opt/chromedriver88 # Run test_xmr_persistent.py # python tests/basicswap/extended/test_http_ui.py import time import logging from urllib.parse import urljoin from selenium import webdriver from selenium.webdriver.support.ui import Select, WebDriverWait logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') def run_test(): base_url = 'http://localhost:12701' driver = webdriver.Chrome('/opt/chromedriver88') driver.get(base_url) link = driver.find_element_by_xpath('//a[@href="/offers"]') num_offers_start = int(link.text.split(':')[1].strip()) logging.info('Offers: %d', num_offers_start) logging.info('Creating offer') driver.get(urljoin(base_url, 'newoffer')) select_coin_from = Select(driver.find_element_by_name('coin_from')) select_coin_from.select_by_visible_text('Particl') select_coin_to = Select(driver.find_element_by_name('coin_to')) select_coin_to.select_by_visible_text('Monero') from_value = driver.find_element_by_name('amt_from') from_value.send_keys('1') to_value = driver.find_element_by_name('amt_to') to_value.send_keys('2') submit_button = driver.find_element_by_name('continue') submit_button.click() time.sleep(0.1) submit_button = driver.find_element_by_name('check_offer') submit_button.click() time.sleep(0.1) submit_button = driver.find_element_by_name('submit_offer') submit_button.click() time.sleep(0.1) link = WebDriverWait(driver, 5).until(lambda d: d.find_element_by_xpath("//a[contains(@href, '/offer')]")) offer_id = link.text.rsplit(' ', 1)[1] logging.info('Offer ID: %s', offer_id) driver.get(base_url) link = driver.find_element_by_xpath('//a[@href="/offers"]') num_offers_end = int(link.text.split(':')[1].strip()) assert num_offers_end == num_offers_start + 1 driver.quit() if __name__ == '__main__': run_test()