Host-customized fork of https://github.com/tecnovert/basicswap/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
2.0 KiB

#!/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()