tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_1975651_comic_k-manga_jp.py (2738B)


      1 import pytest
      2 
      3 URL = "https://comic.k-manga.jp/"
      4 FIRST_BOOK_CSS = "[data-bookid] a[href*=title]"
      5 READ_FREE_CSS = "[class*=book-info] a[href*=viewer-launcher]"
      6 SUPPORTED_CSS = ".nv-pvImageCanvas"
      7 UNSUPPORTED_TEXT = "お使いのブラウザでは閲覧できません"
      8 
      9 OUTDATED_LINK_URL = "https://comic.k-manga.jp/viewer/sp/viewer.html?p0=BGTK_7e2f84c12e3fc8693054e926112aaaf1_202507041517&p1=9a027f2bcdae4b9c9505ede256522118&p2=2&p3=186044&p4=1&p5=eyJ1c2VySWQiOiJmYTU4ZWUzNDNjZjA1M2U0MGVlYWU5MGIyODE4NTA4ZiIsInVzZXJTdGF0dXMiOjAsImJvb2tJZCI6MTg2MDQ0LCJjaGFwdGVySWQiOjEsImZvcm1hdFR5cGUiOjEsInF1YWxpdHkiOiIxIiwiY29udGVudFR5cGUiOjIsImxpbWl0Q29udHJvbCI6ZmFsc2UsImJvb2tMaXN0S2V5IjpudWxsfQ%3D%3D&p8=7139fkjhl3d3k0m5t406ivvvva&p9=eyJ1c2VySWQiOiJmYTU4ZWUzNDNjZjA1M2U0MGVlYWU5MGIyODE4NTA4ZiIsInVzZXJTdGF0dXMiOjAsImJvb2tJZCI6MTg2MDQ0LCJjaGFwdGVySWQiOiJuIiwiZm9ybWF0VHlwZSI6MSwicXVhbGl0eSI6IjEiLCJjb250ZW50VHlwZSI6MiwibGltaXRDb250cm9sIjpmYWxzZSwiYm9va0xpc3RLZXkiOm51bGx9&p10=2&p15=0&p16=0&p19=0&p20=4839c607-ca9c-4c6b-b793-64d0eaa65440&p21=0&p23=0"
     10 DEAD_LINK_TEXT = "前のページに戻り、再読み込み後、もう一度お試しください。"
     11 
     12 
     13 async def visit_manga_page(client):
     14    await client.navigate(URL, wait="none")
     15    await client.navigate(
     16        client.get_element_attribute(client.await_css(FIRST_BOOK_CSS), "href"),
     17        wait="none",
     18    )
     19    await client.navigate(
     20        client.get_element_attribute(client.await_css(READ_FREE_CSS), "href"),
     21        wait="none",
     22    )
     23 
     24 
     25 @pytest.mark.only_platforms("android")
     26 @pytest.mark.asyncio
     27 @pytest.mark.without_interventions
     28 async def test_disabled_dead_link(client):
     29    await client.navigate(OUTDATED_LINK_URL, wait="none")
     30    assert client.await_text(UNSUPPORTED_TEXT, is_displayed=True)
     31    assert not client.find_text(DEAD_LINK_TEXT, is_displayed=True)
     32 
     33 
     34 @pytest.mark.only_platforms("android")
     35 @pytest.mark.asyncio
     36 @pytest.mark.without_interventions
     37 async def test_disabled(client):
     38    await visit_manga_page(client)
     39    assert client.await_text(UNSUPPORTED_TEXT, is_displayed=True)
     40    assert not client.find_css(SUPPORTED_CSS, is_displayed=True)
     41 
     42 
     43 @pytest.mark.only_platforms("android")
     44 @pytest.mark.asyncio
     45 @pytest.mark.with_interventions
     46 async def test_enabled_dead_link(client):
     47    await client.navigate(OUTDATED_LINK_URL, wait="none")
     48    assert client.await_text(DEAD_LINK_TEXT, is_displayed=True)
     49    assert not client.find_text(UNSUPPORTED_TEXT, is_displayed=True)
     50 
     51 
     52 @pytest.mark.only_platforms("android")
     53 @pytest.mark.asyncio
     54 @pytest.mark.with_interventions
     55 async def test_enabled(client):
     56    await visit_manga_page(client)
     57    assert client.await_css(SUPPORTED_CSS, is_displayed=True)
     58    assert not client.find_text(UNSUPPORTED_TEXT, is_displayed=True)