async def test_chrome_executable(self): assert self.chrome.chrome_setup.chrome_executable() is None chrome_1 = Chrome().keep_open() await chrome_1.browser() assert '/pyppeteer/local-chromium' in chrome_1.chrome_setup.chrome_executable( ) chrome_2 = Chrome().keep_open() await chrome_2.browser() assert '/pyppeteer/local-chromium' in chrome_2.chrome_setup.chrome_executable( ) await chrome_2.close()
async def test_screenshot_jira(self): chrome = Chrome() browser = await chrome.browser() page = (await browser.pages()).pop() with Web_Server() as web_server: await page.goto(web_server.url()) self.png_data = await page.screenshot()
async def test_args_set_user_data_dir__enable_logging(self): user_data = temp_folder() chrome = Chrome().headless(True) (chrome.chrome_args.args_set_user_data_dir(user_data).enable_logging()) await chrome.browser() log_file = path_combine(user_data, 'Default/chrome_debug.log') assert file_exists(log_file)
async def test_set_chrome_log_file(self): log_file = '/tmp/chrome_logfile.log' file_delete(log_file) chrome = Chrome().headless(True) chrome.chrome_args.enable_logging(log_file) await chrome.browser() assert 'Could not get the download directory.' in file_contents( log_file).split('\n').pop(0)
def test_run_chrome_locally(self): path_headless_shell = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' chrome = Chrome().keep_open() chrome.options['path_headless_shell'] = path_headless_shell chrome_sync = Chrome_Sync(chrome) chrome_sync.browser() chrome_sync.open('https://www.google.com') self.png_data = bytes_to_base64(chrome_sync.screenshot()) chrome_sync.close()
def __init__(self, headless=True): self.web_page = '/vis-js/simple.html' self.web_root = Files.path_combine(Files.parent_folder(__file__), '../web_root') chrome = Chrome().headless(headless) self.api_browser = API_Browser(chrome.sync().browser()) self.render_page = Render_Page(api_browser=self.api_browser, web_root=self.web_root) self.bot_name = 'GS_Bot' self.options = None
async def test_keep_open(self): file_delete(Chrome_Setup(None, None).file_tmp_last_chrome_session) url_1 = 'https://www.google.com/404' url_2 = 'https://www.google.com/ABC' chrome_1 = Chrome().keep_open( ) # 1st chrome object (with keep_open setting) browser_1 = await chrome_1.browser( ) # open process and get browser object page_1 = (await browser_1.pages()).pop() # get first page await page_1.goto(url_1) # open 404 in google assert page_1.url == url_1 # confirm url chrome_2 = Chrome().keep_open() # create 2nd chrome object browser_2 = await chrome_2.browser( ) # connect to chrome and get browser object page_2 = (await browser_2.pages()).pop() # get page object assert page_2.url == url_1 # confirm url await page_2.goto(url_2) # open another page in browser_2 assert page_1.url == url_2 # confirm it was opened in browser 1 assert page_2.url == url_2 # and in browser_2 chrome_3 = Chrome().keep_open() # create 3rd chrome object browser_3 = await chrome_3.browser( ) # connect to chrome and get browser object page_3 = (await browser_3.pages()).pop() # get page object assert page_3.url == url_2 # confirm url assert self.chrome.chrome_setup.connect_method( ) == 'No browser open or connected' assert chrome_1.chrome_setup.connect_method( ) == 'Started chrome process' assert chrome_2.chrome_setup.connect_method( ) == 'Connected to running chrome process' assert chrome_3.chrome_setup.connect_method( ) == 'Connected to running chrome process' #await browser_1.close() await browser_3.close() # close browser
def __init__(self, chrome: Chrome = None): self.chrome = chrome or Chrome()
async def test_site__not_headless_what_is_my_browser(self): chrome = Chrome(headless=False) browser = await chrome.browser() page = (await browser.pages()).pop() await page.goto('https://www.whatismybrowser.com') self.png_data = await page.screenshot()
async def test_site__headless_news_google_com(self): chrome = Chrome().headless(True) browser = await chrome.browser() page = (await browser.pages()).pop() await page.goto('https://www.google.com/AAAAAA') self.png_data = await page.screenshot()
def setUp(self): super().setUp() self.chrome = Chrome()