我正在寻找一种猴子测试网站的方法。类似于浏览器插件的东西,您可以在其中定义时间间隔和非点击区域,然后插件将在指定的时间间隔内开始在任何地方(非点击区域或 DOM 元素除外)点击(以及可能的其他操作)。
我在网上搜索过,只找到了针对 iPhone 和 Android 的此类测试。
我正在寻找一种猴子测试网站的方法。类似于浏览器插件的东西,您可以在其中定义时间间隔和非点击区域,然后插件将在指定的时间间隔内开始在任何地方(非点击区域或 DOM 元素除外)点击(以及可能的其他操作)。
我在网上搜索过,只找到了针对 iPhone 和 Android 的此类测试。
Selenium 允许您搜索页面中的 DOM 元素,并模拟指向特定 DOM 元素的单击或键盘事件。这与定义“非点击区域”(大概是根据 X/Y 坐标定义)并不完全相同,但这种方式可能更容易。
如果你想用 Python 自己动手,你可以从
import json
import random
import selenium
SUBDOMAIN = "your-domain.com/subdomain"
d = selenium.webdriver.Firefox()
d.get("http://" + SUBDOMAIN)
while True:
try:
nexturl = random.choice(d.find_elements_by_tag_name("a")).get_attribute("href")
except selenium.common.exceptions.StaleElementReferenceException:
pass
except IndexError:
d.get(random.choice(SEEN))
if nexturl and SUBDOMAIN in nexturl and nexturl not in SEEN:
print(nexturl)
d.get(nexturl)
# some test code for each page
SEEN.append(nexturl)
这将启动一个浏览器,加载您的子域的 URL,如果仍然指向子域,则随机单击页面上的链接。在 while 循环中编写您自己的代码以进一步测试每个页面。