草庐IT

selenium

全部标签

javascript - 如何验证是否使用 Selenium 在 javascript 对象上调用了某些方法?

我想用selenium验证是否调用了某些方法(带参数)JavaScript对象-一种使用JMockit的期望模拟,但在Javascript和selenium中。不幸的是,对象是被严重混淆的不透明网站性能跟踪器,我无法访问它的内部结构,所以在我看来,模拟是唯一的选择。还是我漏掉了一些明显的东西?更新:经过思考,在我看来解决方案可能是:-等待HTML完全加载-删除某些包含性能跟踪器的脚本标签-创建javascript模拟对象,其行为类似于跟踪器,但记录调用供以后使用 最佳答案 好的,终于明白了。选择的模拟框架是:jsmockito和js

javascript - 使用 Nightwatch.js 测试下载链接

我正在尝试使用Nightwatch.js构建自动化测试,以验证软件下载链接是否正常工作。我不想下载文件,因为它们很大,我只想验证相应的链接是否返回200HTTP响应以确保链接指向正确的位置。关于使用Nightwatch.js测试可下载文件链接的方法有什么想法吗?这是我目前拥有的:/***TestSoftwareDownloads**Verifythatsoftwaredownloadsareworking*/module.exports={"Downloadredirectlinks":function(browser){//downloadlinksvardownloadLinks=

javascript - Selenium Webdriver 是可检测的

我到处都读到网站不可能检测到用户正在使用seleniumwebdriver......但为什么呢?例如firefox中的webdriver插件添加了一个“webdriver属性”到元素。所以...转到...我很困惑...为什么无法检测到网络驱动程序?我写了一点Javascript来获取document.outerHTML...并且有webdriver属性!=检测到!?这是我在浏览器中使用和不使用Webdriver测试的代码:有人能解释一下为什么无法检测到Webdriver吗? 最佳答案 W3CdraftspecAppendixE中的

javascript - 如何使用 Protractor 在文件选择器中上传文件?

这是HTML代码:这是我的代码:browser.wait(function(){returnelement(by.id('.filepicker_dialog_container')).isPresent();}).then(function(){browser.driver.switchTo().frame('.filepicker_dialog');}).then(function(){varfileToUpload='/home/raghavendra/Desktop/f0657c76d96b9ddab5562b8391297dbbb01488fec4e79a4c13195aea

javascript - Capybara/Selenium 在 location.reload() 上随机获取一个 Net::ReadTimeout

我正在使用Capybara、selenium-webdrivergem和chromedriver来驱动我的启用javascript的测试。问题是大约50%的构建由于Net::ReadTimeout错误而失败。起初这表现为“找不到元素”错误,但在我将Capybara的默认最长等待时间提高到30秒后,我开始看到超时。我检查了超时发生时的屏幕截图,它停留在我们在使用Javascript函数location.reload()重新加载页面之前简要显示的“成功登录”模式.我在本地运行了测试,有时可以重现,也是随机的。有时它会通过这个模态压缩并重新加载,速度快到你几乎看不到它,而其他时候它会永远挂起

javascript - 为什么 Selenium 找不到动态添加的 DOM 元素?

我用jQuery添加了一个DOM元素(一个链接)。我可以在Firebug中看到该元素,但由于某种原因Selenium找不到它。这是怎么回事?注意:不涉及AJAX,因此几乎立即添加了DOM元素。==编辑==这里有一些代码(使用jQuery)将链接附加到文档的末尾:$element=$("");$element.appendTo($("body"));我正在使用Capybara(带有Selenium)来查找链接并单击它,如下所示:find("#foo").click在我开始使用jQuery向DOM添加元素之前,我对Capybara或Selenium没有任何问题。

javascript - Selenium 网络驱动程序 : firefox headless inject javascript to modify browser property

我正在尝试弄清楚如何将seleniumwebdriver与python或java结合使用来注入(inject)javascript以修改浏览器属性/属性。我的最终目标是获得类似于this的东西使用selenium和firefox,因为它是更开放和灵活的选择。Puppeter和chromium文件test.js:constpuppeteer=require("puppeteer");(async()=>{constbrowser=awaitpuppeteer.launch({args:["--no-sandbox"],headless:true,});constpage=awaitbro

javascript - 从 WebDriverJS 确定 session ID

我正在尝试在浏览器上运行WebDriverJS,但文档对如何让它控制主机浏览器有些含糊。在这里,它说:LaunchingabrowsertorunaWebDrivertestagainstanotherbrowserisatadredundant(comparedtosimplyusingnode).Instead,usingWebDriverJSinthebrowserisintendedforautomatingthebrowseractuallyrunningthescript.Thiscanbeaccomplishedaslongasthe>URLfortheserverand

javascript - 使用 Selenium Webdriver 获取定期更新的内容

例如,聊天网站Omegle总是在其主页上显示当前在线用户数,我可以使用Selenium中的headlessHTMLUnitWebdriver通过此python脚本提取该数量:fromseleniumimportwebdriverdriver=webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.HTMLUNITWITHJS)driver.get('http://www.omegle.com/')element=driver.find_element_by_id("onlinecount")printele

javascript - 如何解释在 Protractor 中使用 browser.sleep

我是Protractor的新手,我正在尝试测试弹出事件,这是我的代码:describe('popoverdirective',function(){varbuttons=element.all(by.tagName('button'));it('shouldshowthepopovertitlebyclicking',function(){varpopTitle="testTitle";varpopContent="testContent";element(by.model('title')).clear().sendKeys(popTitle);element(by.model('c