import pytest
from requests_html import HTMLSession, AsyncHTMLSession, HTMLResponse
urls = [
'https://xkcd.com/1957/',
'https://www.reddit.com/',
'https://github.com/psf/requests-html/issues',
'https://discord.com/category/engineering',
'https://stackoverflow.com/',
'https://www.frontiersin.org/',
'https://azure.microsoft.com/en-us'
]
@pytest.mark.parametrize('url', urls)
@pytest.mark.internet
def test_pagination(url: str):
session = HTMLSession()
r = session.get(url)
assert next(r.html)
@pytest.mark.parametrize('url', urls)
@pytest.mark.internet
@pytest.mark.asyncio
async def test_async_pagination(event_loop, url):
asession = AsyncHTMLSession()
r = await asession.get(url)
assert await r.html.__anext__()
@pytest.mark.internet
def test_async_run():
asession = AsyncHTMLSession()
async_list = []
for url in urls:
async def _test():
return await asession.get(url)
async_list.append(_test)
r = asession.run(*async_list)
assert len(r) == len(urls)
assert isinstance(r[0], HTMLResponse)