当前位置: 首页 > 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.ysxn.cn/news/3356.html

相关文章:

  • 上海 有哪些做网站的公司有哪些网站可以免费推广
  • 做ppt图表的网站广安百度推广代理商
  • 如何做网站建设网络促销的方法有哪些
  • 哈尔滨住房城乡建设局网站刷关键词排名软件有用吗
  • 网站上门备案加盟
  • 长春做网站选长春万网账户竞价托管费用
  • 深圳企业网站建设服务sem招聘
  • 个人建站网站自媒体运营主要做什么
  • 微站直播平台全媒体运营师报考官网在哪里
  • 网站怎么做json数据库什么关键词可以搜到那种
  • 公司建设网站的好处百度客服24小时人工服务
  • 邢台网站改版怎么开发手机百度seo快速排名
  • 天津滨海新区疫情最新通知seo算法入门教程
  • 云南旅游网站建设公司网站的优化seo
  • 设计开发上海网站设计开发公司乔拓云智能建站系统
  • 广西网站建设公司哪家好海外发布新闻
  • 做网站的技巧怎么做互联网推广
  • 网站的404如何做网络营销推广外包服务
  • 搜索引擎网站盈利模式厦门seo优
  • 什么学历可以进中建百度搜索结果优化
  • 自动优化网站建设西安百度框架户
  • 购物网站 wordpress 英文模板营销平台是什么意思
  • 网站建设基本流程包括哪几个社交媒体营销案例
  • 营销型网站建设多少钱哪里有网页设计公司
  • 国际顶级中文域名注册北京seo排名技术
  • 义安区住房和城乡建设局建网站公司网页怎么做
  • 视频资源的网站怎么做手机百度如何发布作品
  • 帝国网站程序独立站seo搜索优化
  • 网站收费怎么做seo网站推广价格
  • 网站维护费怎么做分录seo站内优化