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

有关网站建设的网站WordPress与odoo接口

有关网站建设的网站,WordPress与odoo接口,鞋图相册网站怎么做,音乐视频怎么做mp3下载网站文章目录一、环境准备二、Web 自动化测试 Demo三、元素定位常用方法四、元素定位失败可能原因五、测试对象操作六、等待操作七、信息打印在学习 Web 自动化测试的过程中#xff0c;selenium 是其中的常用工具。除了其开源免费#xff0c;包含丰富的 API 以外#xff0c;它还… 文章目录一、环境准备二、Web 自动化测试 Demo三、元素定位常用方法四、元素定位失败可能原因五、测试对象操作六、等待操作七、信息打印在学习 Web 自动化测试的过程中selenium 是其中的常用工具。除了其开源免费包含丰富的 API 以外它还支持多浏览器多系统多语言等等优点 一、环境准备 这里将使用Java语言在谷歌浏览器Chrome下来进行 selenium 工具的使用。 想要开展自动化测试首先要保证环境已经部署到位包括 selenium 工具包Chrome浏览器WebdriverChromedriver 谷歌驱动java版本至少为8 关于 selenium 工具包在我们创建好一个 Maven 项目之后就需要在 pom.xml 中引入依赖。完成后一定要点开界面右上角的 Maven 按钮点击刷新按钮进行刷新 dependenciesdependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion4.0.0/version/dependency /dependenciesChrome 浏览器记得在官方网页下载就行。 由于使用的是 Chrome 浏览器那么我们使用的驱动得是谷歌驱动Chromedriver这个驱动的作用就是协助打开 Chrome 浏览器的因为代码是没有办法自己直接打开浏览器进行一系列操作的。 下载驱动的具体操作呢首先要先查看一下 Chrome 浏览器的版本浏览器右上角的三个点 ▶️ 帮助​ ▶️ 关于 Google Chrome 然后进入下面的地址选择与 Chrome 版本最接近的版本点进去下载驱动 链接Chromedriver 下载完成后将 chromedriver.exe 放到 C:\Program Files\Java\jdk1.8.0_192\bin 目录下默认情况下 PS最好停止浏览器自动更新的功能不然版本更新后又需要下载新的驱动 具体操作控制面板 ▶️ 管理工具 ▶️ 服务 ▶️ ​Google更新服务禁用右击属性设置 二、Web 自动化测试 Demo 主要内容就是打开浏览器打开百度网页在搜索框中输入搜索关键词点击 “百度一下“ 搜索按钮查看到搜索结果内容关闭浏览器 public class Test1 {//创建出一个驱动对象来private ChromeDriver driver new ChromeDriver();//自动化测试前必须的操作打开网址public void startTest() {driver.get(https://www.baidu.com/);}public void demoTest() throws InterruptedException {Thread.sleep(1000);//等待1秒为了更方便的查看测试状态//找到 id 为 kw 的元素百度输入框,然后往该元素中填充搜索词 巴巴driver.findElement(By.id(kw)).sendKeys(巴巴);Thread.sleep(1000);//找到 id 为 su 的元素百度一下按钮然后点击一下driver.findElement(By.id(su)).click();Thread.sleep(1000);}//自动化测试后必须的操作释放掉驱动对象浏览器关闭public void endTest() {driver.quit();} }调用测试方法类 public class RunTest {public static void main(String[] args) throws InterruptedException {Test1 test1 new Test1();test1.startTest(); //测试准备test1.demoTest(); //测试 ingtest1.endTest(); //测试收尾} }三、元素定位常用方法 在上面的测试 Demo 中就已经举例出了一种元素定位方法——By.id()【通过id】 除此外还有通过 cssSelectorxpathtagNameclassNamenamepartialLinkTextlinkText //一、id 定位全局唯一可定位成功 driver.findElement(By.id(kw)); //二、cssSelector 定位唯一可定位成功 driver.findElement(By.cssSelector(#kw)); //三、xpath 定位唯一可定位成功 driver.findElement(By.xpath(//*[id\kw\])); //四、tagName 定位标签名不唯一性大定位失败率高 driver.findElement(By.tagName(input)); //五、className 定位不唯一性大定位失败率高 driver.findElement(By.className(s_ipt)); //六、name 定位有定位失败的可能 driver.findElement(By.name(wd)); //七、linkText 定位链接名定位 driver.findElement(By.linkText(hao123)); //八、partialLinkText 定位部分链接名定位 driver.findElement(By.partialLinkText(123));定位元素时一定要保证元素能够找到且唯一否则定位失败 四、元素定位失败可能原因 原因一定位的方式不唯一或者根本就没与该元素 检查该元素是否可定位可通过F12的console标签通过document.querySelector() 的方法定位可验证是否能找到元素 原因二如果使用 cssSelector 或者 xpath 的话其定位方式错误 按下F12,ctrlf,把要检查的 cssSelector 输入看能否只定位到一个元素。 原因三页面还没有加载完成就开始定位元素 一般来说代码执行的速度比页面渲染速度要快。代码执行到了但目标元素在页面中还没有渲染出来导致没法定位到目标元素因此需要合理使用元素等待 原因四元素没有达到可见的条件 比如目标元素需要鼠标悬停或者单击页面上的某个元素才能找到。或者还有可能需要定位的元素在新的窗口中但是还没有打开新的窗口需要切换到新窗口才可以找到目标元素 原因五存在表单嵌套 顺着定位元素往上找查看是否有 iframe 标签找到说明要定位此元素需先切换到此表单再定位元素。 五、测试对象操作 5.1 click 点击对象 driver.findElement(By.partialLinkText(123)).click();5.2 send_keys 按键输入 driver.findElement(By.id(kw)).sendKeys(巴巴);5.3 clear 清除输入 driver.findElement(By.id(kw)).clear();5.4 submit 提交表单 driver.findElement(By.id(su)).submit();click 和 submit 都可以操作按钮不同的是click 可以点击页面中的任何元素但可以 click 的地方不一定可以 submit 所以一般使用 click 就行 5.5 getText 文本获取 String str driver.findElement(By.partialLinkText(123)).getText(); System.out.println(str);获取的文本是不包含在标签内的标签中的 value 值指的是 value 的属性值 5.6 getAttribute 属性值获取 String str1 driver.findElement(By.id(su)).getAttribute(type); String str2 driver.findElement(By.id(su)).getAttribute(value); String str3 driver.findElement(By.id(su)).getAttribute(id); String str4 driver.findElement(By.id(su)).getAttribute(class); System.out.println(type:str1 value:str2 id:str3 class:str4);六、等待操作 在元素定位失败的原因中有提到过代码的执行速度比页面渲染的速度快如果目标元素还没渲染出来代码就已经执行到了就会导致找不到目标元素所以等待的操作是非常有必要的 强制等待 Thread.sleep(1000);参数是强制等待的时间单位是毫秒用法非常简单。指定多少时间就会让程序暂停多少时间等待时间结束后才会继续执行下一步方便调试查看测试过程。但固定的等待时间导致测试时间过长降低测试效率 隐式等待 public void waitTest() {driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));//隐式等待设置等待的时间为 2单位为秒driver.findElement(By.id(kw)).sendKeys(狗狗);driver.findElement(By.id(su)).click();driver.findElement(By.xpath(//*[id\5\]/div/div/h3/a)).click(); }隐式等待指的是在自己设置的这段时间内不停的等待目标元素出现如果在时间范围内始终没有出现就会抛出找不到元素异常NoSuchElementException。并且隐式等待作用范围为整个 Webdriver 生命周期所以放在哪里影响不大只要没退出浏览器就一直存在。 和强制等待相比无疑是节省了很多的时间 显示等待 隐式等待有个缺点那就是需要等待所有的元素都展现出来了才会执行下一步。与之相比显示等待的优点就是针对某个元素进行等待不需要等到所有元素都渲染好目标元素出现就可以结束了进一步提高测试效率但是写法相较于前两种来说更为复杂。 public void waitTest() {driver.findElement(By.id(kw)).sendKeys(狗狗);driver.findElement(By.id(su)).click();//创建一个显示等待的对象初始化时传入两个参数一个是驱动对象另一个是等待时间WebDriverWait wait new WebDriverWait(driver,Duration.ofSeconds(3));//在规定时间内不停寻找目标元素//结束的契机就是until括号内的条件满足即目标元素已经被找到了没找到就抛出异常wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(//*[id\5\]/div/div/h3/a))).click(); }PS隐式等待和显示等待不要放在一起使用不然实际等待的时间将没有办法预期 七、信息打印 public void printTest() {String title driver.getTitle(); //获取网址标题String url driver.getCurrentUrl(); //获取网址 urlSystem.out.println(title:title url:url); }
http://www.w-s-a.com/news/50491/

相关文章:

  • 网站建设行业咨讯文章网站兼容模式怎么设置
  • 商务网站建设概念东莞做网站的公司吗
  • 高稳定性的网站设计制作wordpress 检测插件
  • 无锡网站制作排名自适应网站建设推荐
  • 度娘网站桃花怎么做网站制作 p
  • 小欢喜林磊儿什么网站做家教搜索优化公司
  • 龙岗做网站哪里找网站建设简介是什么意思
  • 做网站的标准北京西站出站口
  • asp.net新建网站市场营销管理是做什么的
  • 南昌网站建设模板服务商建设什么网站挣钱
  • 网站建设实训记录企业网站建设运营
  • 视频网站文案住房和城乡建设部门
  • 汕头网站排名推广新余门户网站开发
  • 湖南智能网站建设哪家好wordpressμ
  • 公司网站备案必须是企业信息么睢宁县凌城做网站的
  • 上海网站建设公司 珍岛宁波免费自助建站模板
  • 南昌知名的网站建设公司南京网站开发选南京乐识赞
  • 外贸网站建设 深圳seo怎么提升关键词的排名
  • 网站推广效果的评价google关键词
  • 模板网站建站哪家好做微信充值网站
  • 抽奖的网站怎么做的广州小程序定制开发
  • 网站的文件夹建设企业网站公积金
  • 做网站的的价位网站建设 考试题目
  • 深圳比邻网站建设北京优化服务
  • 菏泽网站建设哪家好电子商务网络安全
  • 仿一个网站广州网站建设正规公司
  • 网站建设 目的seo网站关键词排名快速
  • 什么叫做响应式网站自媒体全平台发布
  • 企业网站 案例哪里需要人做钓鱼网站
  • 厚街东莞网站建设网站开发者调试模式