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

南通做企业网站seo运营推广

南通做企业网站,seo运营推广,网站目录生成,北京私人做网站1.自动化测试分类 接口自动化测试UI自动化测试(移动端自动化测试、Web端自动化测试) 2.选择Selenium作为web自动化工具原因(面试题) 开源免费支持多个浏览器支持多个系统支持多语言Selenium包提供很多供测试使用的API 3.自动化是什…

1.自动化测试分类

  • 接口自动化测试
  • UI自动化测试(移动端自动化测试、Web端自动化测试)

2.选择Selenium作为web自动化工具原因(面试题)

  • 开源免费
  • 支持多个浏览器
  • 支持多个系统
  • 支持多语言
  • Selenium包提供很多供测试使用的API

3.自动化是什么?为什么要做自动化? 

  • 自动化是测试人员为了提高效率或者保证测试质量,减少人力消耗,让代码辅助测试人员来执行测试的一个过程

 4.自动化脚本打开浏览器的工作原理

  •  编写的自动化脚本----创建http请求发送给浏览器驱动----浏览器驱动包含一个http server请求---操控浏览器----执行测试步骤
  • 驱动作用:驱动接收自动化脚本发送过来的http请求,并解析请求发送给浏览器,当浏览器执行完成后,会把结果返回给脚本

5. 使用Java编写Selenium编写的自动化脚本的步骤

  • 创建maven项目,在pom.xml里将依赖导入
<dependencies><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0</version></dependency>
</dependencies>
  • 开始进行自动化脚本的编写
 public void dilireba(){//创建驱动对象ChromeOptions options=new ChromeOptions();options.addArguments("--remote-allow-origins=*");ChromeDriver driver=new ChromeDriver(options);//访问网络driver.get("http://baidu.com");//查找元素并且操作元素driver.findElement(By.cssSelector("#kw")).sendKeys("迪丽热巴");driver.findElement(By.cssSelector("#su")).click();//结束会话driver.quit();}

6.查找元素 

  • findElement()     查找当前的一个元素 ,返回值为WebElement
driver.findElement(By.cssSelector("#kw"))
  • findElenments()      查找当前相同多个元素, 返回值为List<WebElement>
List<WebElement> eles=driver.findElements(By.className("hotsearch-item"));//打印每个名称for (WebElement els: eles ) {System.out.println(els.getText());}

7.元素定位 (自动化要求元素定位必须唯一)

  • 选择器:Selector ,选择页面指定元素
driver.findElement(By.cssSelector("#kw"))
  • Xpath
driver.findElement(By.xpath(//*[@id="kw"]))

 8.常见元素操作 

  • 输入文本 sendkeys,仅使用于文字字段
driver.findElement(By.cssSelector("#kw")).sendKeys("小嘉");
  • 点击 click
 driver.findElement(By.cssSelector("#su")).click();
  • 提交  submit,仅适用于表单元素
driver.findElement(By.cssSelector("#su")).submit();
  • 获取文本  getText(),打印这个属性的值
String ret=driver.findElement(By.className("title-content-title")).getText();System.out.println(ret);
  • 清除 clear ,测试是否可以频繁输入
driver.findElement(By.cssSelector("#su")).clear();
  • 获取标题 getTitle()
 System.out.println(driver.getTitle());
  • 获取url  geturl()
 System.out.println(driver.getCurrentUrl());
  •    获取属性的值  getAttribute()
System.out.println(driver.findElement(By.cssSelector("#su")).getAttribute("value"));

9.窗口设置

  • 窗口最大化
//窗口最大化driver.manage().window().maximize();
  • 窗口最小化
 //窗口最小driver.manage().window().minimize();
  • 窗口全屏
  driver.manage().window().fullscreen();
  • 手动设置窗口大小
//手动设置driver.manage().window().setSize(new Dimension(1024,4444));
  • 窗口切换(浏览器每次打开一个标签页,就会自动给每个标签页有一个标识,叫做句柄)10
 //输入网址driver.get("http://baidu.com");//点击更多标签页driver.findElement(By.cssSelector("#s-top-left > div > a")).click();//先获取所有标签的句柄Set<String>handles =driver.getWindowHandles();//获取当前页面句柄String curhandle=driver.getWindowHandle();System.out.println("当前页面句柄:"+curhandle);//获取所有的句柄for (String handle: handles) {if (handle!=curhandle){//进行页面切换driver.switchTo().window(handle);}}//查找更多页面的某个元素Thread.sleep(2000);driver.findElement(By.cssSelector("#content > div:nth-child(2) > div:nth-child(2) > a"));Thread.sleep(2000);driver.quit();

10.屏幕截图 

  • 在pom.xml里面导入依赖
<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>
  • 进行截图
public void test1() throws IOException {//启动驱动ChromeOptions options=new ChromeOptions();options.addArguments("--remote-allow-origins=*");ChromeDriver driver=new ChromeDriver(options);//输入网址driver.get("http:baidu.com");//找到输入框去输入元素driver.findElement(By.cssSelector("#kw")).sendKeys("迪丽热巴");//屏幕截图以文件形式File srcfile=driver.getScreenshotAs(OutputType.FILE);//把它放在指定路径String filename="my.png";FileUtils.copyFile(srcfile,new File(filename));driver.quit();}

11.等待 

  • 强制等待:Thread.sleep(时间)
  • 隐式等待:作用于driver的整个生命周期,会一直轮寻判断元素是否存在,如果不存在就等待设置好的时间里不断进行轮询,等到元素全被访问
public void test2(){//启动驱动ChromeOptions options=new ChromeOptions();options.addArguments("--remote-allow-origins=*");ChromeDriver driver=new ChromeDriver(options);//开始隐式等待driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));//输入网址driver.get("http:baidu.com");//找到输入框去输入元素driver.findElement(By.cssSelector("#kw")).sendKeys("迪丽热巴");driver.quit();}
  • 显示等待: 针对代码一条去设置

new WebDriverWait(driver,Duration.ofSeconds(间)).until(driver.findElement(By.cssSelector("")));

12.浏览器导航 

         //后退回之前状态driver.navigate().back();//前进driver.navigate().forward();//刷新driver.navigate().refresh();

13.弹窗 

  • 将driver对象作用到弹窗上(切换弹窗) driver.switchTo.alert()
  • 确认--accept    取消---dismiss    输入文本----sendkeys
  • 警告弹窗--只有1个按钮     确认弹窗--可以选择确定和取消    提示弹窗--可以输入文本

14.选择框 (可以根据文本选择、根据属性值选择、根据文本选择)

void selectControll() throws InterruptedException {
//        driver.get("file:///D:/file/%E6%AF%94%E7%89%B9%E6%95%99%E5%8A%A1/%E6%B5%8B%E8%AF%95/selenium4html/selenium-html/select.html");
//        Thread.sleep(3000);
//         WebElement ele = driver.findElement(By.cssSelector("#ShippingMethod"));
//        //先创建选择框对象
//        Select select = new Select(ele);
//        Thread.sleep(3000);
//        //根据文本来选择select.selectByVisibleText("UPS Next Day Air ==> $12.51");
//        //根据属性值来选择select.selectByValue("12.51");
//        //根据序号来选择
//        select.selectByIndex(1);   序号从0开始
//        Thread.sleep(3000);
//        driver.quit();
//    }

15.执行脚本 executeScript(js代码)

void scriptControll() throws InterruptedException {driver.get("https://baidu.com/");Thread.sleep(3000);//执行js命令:让页面置顶/置底//如果想要滑到最小面,值设置的大一些就行         driver.executeScript("document.documentElement.scrollTop=500");Thread.sleep(3000);//0就是顶部driver.executeScript("document.documentElement.scrollTop=0");driver.get("https://www.baidu.com");Thread.sleep(3000);driver.executeScript("var texts = document.querySelector('#kw');texts.value='1111'");Thread.sleep(3000);driver.quit();}

16.文件上传

void fileUploadControll() throws InterruptedException {      driver.get("url的路径");
Thread.sleep(3000);driver.findElement(By.cssSelector("body > div > div > input[type=file]")).sendKeys("D:\\file\\比特教务\\测试\\selenium4html\\selenium-html\\upload.html");
//写入上传文件的文件夹路径和文件名Thread.sleep(3000);driver.quit();

17.浏览器参数的设置(需要在创建对象之前设置)

测试人员只会查看结果,不关注过程,所以需要设置无头模式(自动执行,我们在界面上看不到的),我们只可以在终端看见效果

      void paramsControll(){//百度搜索迪丽热巴//先创建选项对象,然后再设置浏览器参数ChromeOptions options = new ChromeOptions();options.addArguments("-headless");ChromeDriver driver = new ChromeDriver(options);driver.get("https://www.baidu.com");driver.findElement(By.cssSelector("#kw")).sendKeys("迪丽热巴");driver.findElement(By.cssSelector("#su")).click();driver.quit();
http://www.hkea.cn/news/628389/

相关文章:

  • 平面设计网址推荐全国seo搜索排名优化公司
  • 青岛公路建设集团网站东莞排名优化团队
  • 北京公司响应式网站建设价位太原网站建设开发
  • 龙岩网络诈骗通缉人员优化推广方案
  • 专做海外代购的网站设计案例网
  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格
  • 南山做网站公司怎么选择企业seo优化服务
  • 什么 电子商务网站建设与管百度招商加盟
  • 南召微网站开发手机优化大师官方版
  • 营销型网站技术特点网站推广网
  • 龙游县住房和城乡建设局网站百度seo优化方法
  • 深圳方维网站建设设计个人网站
  • wordpress 流量站百度应用
  • ps素材网seo在线工具
  • 岳阳网站开发公司html网站模板免费
  • 怎样用模板做网站优化网站技术
  • 全国新型疫情最新情况长沙网站搭建优化
  • 郑州网站建设规划seo建站教程
  • 购物网站 购物车界面如何做百度搜索网
  • 推广网站的图片怎么做外贸平台
  • 新手如何给自己的网站做优化bt种子磁力搜索
  • 成都学校网站制作遵义网站seo
  • d?t网站模版宁波seo在线优化哪家好
  • c做的网站淄博做网站的公司
  • 网站开发制作公司郑州网站建设外包
  • 注册域名用个人还是公司好长沙seo优化排名
  • 电子商务网站建设与维护展望今日新闻联播