当前位置: 首页 > news >正文

怎么快速建一个网站wordpress扒站教程

怎么快速建一个网站,wordpress扒站教程,之路网站建设,seo培训学院一、背景与意义 Selenium是常用的Web自动化测试工具#xff0c;前端开发工程师可以在完成每项开发任务之后#xff0c;使用Selenuim做一下回归测试#xff0c;以避免被提BUG太多导致后面做项目总结时太难看。测试工程师学习Selenium时需要掌握很多API接口#xff0c;例如页…一、背景与意义 Selenium是常用的Web自动化测试工具前端开发工程师可以在完成每项开发任务之后使用Selenuim做一下回归测试以避免被提BUG太多导致后面做项目总结时太难看。测试工程师学习Selenium时需要掌握很多API接口例如页面元素如何定位、如何触发各种鼠标操作事件等。而前端工程师则可以充分利用自己所掌握的JavaScript相关API来替换Selenium中的一些API从而更快地入门。 文本接下来将给出一个适合前端开发工程师而不是测试工程师的Selenium入门示例。 二、代码示例 2.1 编程语言选择 Selenium支持的编程语言有Java、Python、C#、Ruby、JavaScript、KotlinPython可能是最常用的语言很多Selenium教材都是以Python作为编程语言。但对大多数前端开发工程师而言写JavaScript当然比写Python更顺手。故这里以JavaScript作为编程语言。 2.2 安装Selenium依赖 运行如下命令即可安装JavaScript版本的Selenium依赖 npm install selenium-webdriver 2.3 启动Selenium 接下来创建自动化测试的主文件test.js const { Builder } require(selenium-webdriver); // 由于要用到await关键字故这里需要使用async function包装一下。 (async function() { /* * 这里使用firefox而不是更常用的浏览器chrome是因为selenium和chrome搭配使用时 * 会出现一些兼容性问题导致的错误对新手不那么友好。用firefox省事一些 */ driver await new Builder().forBrowser(firefox).build(); await driver.get(https://www.sogou.com); })(); 然后运行node test.js命令可以看到firefox打开了https://www.sogou.com并且导航栏是红色的表示firefox受到其他程序的控制 2.4 自动执行文本输入与按钮点击操作 接下来我们要在搜索框中输入HelloWorld并执行搜索。查看页面元素的代码可知搜索框的id为query根据基础的JavaScript知识如果在firefox的开发者控制台中执行以下JavaScript代码可以在搜索框中输入HelloWorld document.getElementById(query).value HelloWorld 类似地搜索按钮的id为stb根据基础的JavaScript知识可知以下JavaScript可以触发搜索 document.getElementById(stb).click() Selenium正好也提供了执行JavaScript的API即driver.executeScript函数test.js中可使用driver.executeScript函数执行输入HelloWorld并触发搜索的操作 const { Builder } require(selenium-webdriver); // 由于要用到await关键字故这里需要使用async function包装一下。 (async function() { /* * 这里使用firefox而不是更常用的浏览器chrome是因为selenium和chrome搭配使用时 * 会出现一些兼容性问题导致的错误对新手不那么友好。用firefox省事一些 */ driver await new Builder().forBrowser(firefox).build(); await driver.get(https://www.sogou.com); // 输入HelloWorld并触发搜索 await driver.executeScript(document.getElementById(query).value HelloWorld); await driver.executeScript(document.getElementById(stb).click()); })(); 再次运行node test.js命令可以看到浏览自动打开网站并执行了搜索操作。绝大多数网页上的操作都可以通过JavaScript来模拟实现故只用driver.executeScript就可以完成很多操作了。 2.5 等待结果和补充断言 执行搜索之后可能需要等待几百毫秒才能返回搜索结果这里就需要使用Selenium的等待函数driver.wait。另外执行搜索之后页面应该会展示“已为您找到xxxx条相关结果”故可以增加断言验证是否符合预期。另外整个测试流程执行完毕之后应该调用driver.quit()退出。相关代码补充如下 const { Builder } require(selenium-webdriver); const assert require(assert); // 由于要用到await关键字故这里需要使用async function包装一下。 (async function() { /* * 这里使用firefox而不是更常用的浏览器chrome是因为selenium和chrome搭配使用时 * 会出现一些兼容性问题导致的错误对新手不那么友好。用firefox省事一些 */ driver await new Builder().forBrowser(firefox).build(); await driver.get(https://www.sogou.com); // 输入HelloWorld并触发搜索 await driver.executeScript(document.getElementById(query).value HelloWorld); await driver.executeScript(document.getElementById(stb).click()); // wait方法第一个参数是函数Selenium会反复调用该函数直到该函数的返回结果为true再执行后面的代码。 // wait方法第二个参数是设置超时时间单位毫秒超过该时间第一个参数还没返回true就报错。 await driver.wait(async () { // 注意如果要获取executeScript的执行返回JS命令中必须要有return语句 return await driver.executeScript(return !!document.querySelector(.num-tips)); } , 60 * 1000); // 超时时间设置为60秒 // 获取页面上的“已为您找到xxxx条相关结果”这一段文字 const searchResultText await driver.executeScript(return document.querySelector(.num-tips).innerText); // 打个日志以方便调试 console.log(searchResultText, searchResultText); // 通过断言确认是否符合预期 assert(searchResultText.match(/^搜狗已为您找到约[0-9,]条相关结果$/, ), 没有获取到搜索结果); driver.quit(); })(); 三、代码结构优化 从代码结构的角度看连续两段driver.executeScript命令可以合并在一起且driver.executeScript命令经常用但有些长可以用一个名字短一点的函数替代。代码优化为 const { Builder } require(selenium-webdriver); const assert require(assert); // 由于要用到await关键字故这里需要使用async function包装一下。 (async function() { /* * 这里使用firefox而不是更常用的浏览器chrome是因为selenium和chrome搭配使用时 * 会出现一些兼容性问题导致的错误对新手不那么友好。用firefox省事一些 */ driver await new Builder().forBrowser(firefox).build(); await driver.get(https://www.sogou.com); const exec command driver.executeScript(command); // 输入HelloWorld并触发搜索 await exec( document.getElementById(query).value HelloWorld; document.getElementById(stb).click(); ); let searchResultText null; // wait方法第一个参数是函数Selenium会反复调用该函数直到该函数的返回结果为true再执行后面的代码。 // wait方法第二个参数是设置超时时间单位毫秒超过该时间第一个参数还没返回true就报错。 await driver.wait(async () { // 获取页面上的“已为您找到xxxx条相关结果”这一段文字 // 注意如果要获取executeScript的执行返回JS命令中必须要有return语句 searchResultText await exec(return document.querySelector(.num-tips)?.innerText); return !!searchResultText; } , 60 * 1000); // 超时时间设置为60秒 // 打个日志以方便调试 console.log(searchResultText, searchResultText); // 通过断言确认是否符合预期 assert(searchResultText.match(/^搜狗已为您找到约[0-9,]条相关结果$/, ), 没有获取到搜索结果); driver.quit(); })(); 感谢每一个认真阅读我文章的人 作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 软件测试面试文档 我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 视频文档获取方式 这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方蓝色字体或小卡片即可自行领取。软件测试全套资料分享 耗时2个月整理的软件测试最全资料包
http://www.hkea.cn/news/14281332/

相关文章:

  • 做网站的需要什么要求广州引流推广公司
  • 网站建设公司赚钱株洲网站建设优化
  • 大兴做网站网站建设有哪种方式
  • dw做的网站要多大酒水包装设计公司
  • 废旧电脑做网站服务器wordpress 自动发布
  • 网站的运营方案房屋设计装修app
  • 域名注册了 如何做网站php旅游类网站开发毕业设计
  • 做网站配送地址怎么变换东莞市机电工程学校网站建设与管理
  • 中英网站怎么做小程序制作收款
  • 网站优化软件排行榜网站的pv uv
  • 做企业云网站的企业邮箱电子商务网站建设与管理教材评价
  • 广州专业做网站的公司手机中关村在线报价大全
  • 网站建设要代码有什么好处wordpress支付宝打赏
  • 积极参与网站信息建设工作个人网页代码html个人网页完整代码
  • 网站版面的美化原则wordpress 目录 导航站
  • 网站 网页数量logo设计 效果图
  • 怎么推广自己的网站链接集美那里有教网站建设
  • 英文网站 正文字体大小网站建设维护知识
  • asp图片源码网站博客系统 wordpress
  • 网站的结构包括哪些内容wordpress 主题公园
  • wordpress 修改主页网站seo在线诊断
  • 阿里云esc建设网站珠海高端网站开发
  • ios网站开发视频教程页面设计实训报告
  • 舟山网站制作江苏新宁建设集团网站
  • 网站如何做微信支付宝支付宝支付温州市城市基础设施建设网站
  • 孝感网站建设效果哈尔滨网站建设教学
  • asp网站制作软件网络营销相关政策有哪些
  • 自己建设网站容易吗游戏平台网页版
  • 多城市网站开发互联网广告精准营销
  • apache 本地网站下载app平台