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

制作app的网站哪个好公司的网站建设公司

制作app的网站哪个好,公司的网站建设公司,php建站模板,网站建设陆金手指科捷14我用selenium开发了一个自动创建任务,大大解放了我做重复性工作带来的疲惫感,收获了更多的乐趣。 我司有100多个服务,运维忙不过来的时候,就会让我们自己创建云负载,你首先需要在云服务上创建负载,再创建容…

我用selenium开发了一个自动创建任务,大大解放了我做重复性工作带来的疲惫感,收获了更多的乐趣。

我司有100多个服务,运维忙不过来的时候,就会让我们自己创建云负载,你首先需要在云服务上创建负载,再创建容器,配置好CPU、内存,创建镜像跟容器的触发器,创建Jenkins任务,每个服务都需要这些步骤,都是重复性工作枯燥乏味,如果只有一个人弄那格式不可忍受。

为了能够让这件事更有趣点,我使用了selenium来帮我做这些重复性工作。通过写到代码让其运行后,就能自动打开浏览器,填好指定文本,提交表单,下面来看看我是怎么用它来创建自动任务的,关键是获取WEB的唯一的DOM节点。

介绍

先来看看Selenium的介绍,没错它其实是一个自动化测试工具。

Selenium是一个用于Web应用程序测试的工具,它直接运行在浏览器中,可以模拟真正的用户操作。这个工具的主要功能包括测试与浏览器的兼容性(即测试应用程序是否能够很好地工作在不同浏览器和操作系统之上)和测试系统功能(即创建回归测试检验软件功能和用户需求)。Selenium支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。

Selenium主要包括三部分:Selenium IDE、Selenium WebDriver和Selenium Grid。Selenium IDE是Firefox浏览器的一个插件,可以进行录制回放,并且可以把录制的操作以多种语言(如JAVA、Python、C#等)的形式导出成测试用例。Selenium WebDriver提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。Selenium Grid则提供了在不同机器的不同浏览器上运行Selenium测试的能力。

Selenium支持跨不同浏览器、平台和编程语言的自动化,它可以轻松部署在Windows、Linux、Solaris和Macintosh等平台上。此外,Selenium通过使用特定于每种语言的驱动程序支持各种编程语言,包括C#、Java、Perl、PHP、Python和Ruby等。测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代Web浏览器中运行。

总的来说,Selenium是一个功能强大的Web自动化测试工具,它可以提高测试效率,减少人工测试的工作量,是Web开发人员和测试人员的重要工具之一。

下面是一个华为云创建负载的任务,另外发现华为云的DOM节点ID、class加有随机数,隔段时间就会变化,因此我的例子不能直接拿去用,要根据你自己的节点去修改,你要掌握思路。

创建浏览器驱动

首先你要根据你自己的浏览器,创建浏览器驱动,如下我创建了一个Safari浏览器驱动。

依赖

 <dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.1.1</version></dependency>
// 创建Safari浏览器驱动
WebDriver driver = new SafariDriver();
//窗口大小
Dimension dimension = new Dimension(1000, 1000);
driver.manage().window().setSize(dimension);

登录

随后,你要通过代码去登录华为云。

 private static void login(WebDriver driver) throws InterruptedException {driver.get("https://auth.huaweicloud.com/authui/login.html?service=https://console.huaweicloud.com/cceold/#/login");Thread.sleep(3000);//切换IAM用户//你要找到,你需要操作的DOM,唯一标识WebElement iamLinkDiv = driver.findElement(By.xpath("//*[@id=\"IAMLinkDiv\"]/span"));((JavascriptExecutor) driver).executeScript("arguments[0].click();", iamLinkDiv);// 查找并填写用户名和密码表单,点击提交按钮WebElement accountInput = driver.findElement(By.id("IAMAccountInputId"));WebElement usernameInput = driver.findElement(By.id("IAMUsernameInputId"));WebElement passwordInput = driver.findElement(By.id("IAMPasswordInputId"));WebElement submitButton = driver.findElement(By.id("btn_submit"));//点击一下,相当于激活该选中框accountInput.click();//把需要填的内容发送到指定的文本accountInput.sendKeys("xxx");usernameInput.sendKeys("xxx");passwordInput.sendKeys("xxx");//执行JS登录,因为有的表单是JS登录的,并不是用的form表单((JavascriptExecutor) driver).executeScript("arguments[0].click();", submitButton);// 等待Jenkins页面加载完成Thread.sleep(5000);}

创建任务

创建任务,也就是负载,你可以自定先声明要有哪些服务,描述是什么等

private static void createJob(WebDriver driver,  List<String> services, List<String> failList) {for (String service: services) {String[] serviceAry = service.split(":");String serviceName = serviceAry [0];String serviceDescription = serviceAry [1];String serviceName = "";try {serviceName  = serviceAry [2];} catch (Exception ex) {}try {System.out.println(String.format("------->正在创建任务[%s]......", serviceName));driver.get("https://console.huaweicloud.com/cce2.0/?agencyId=09d4dbb7a300f3a61fc5c003d92470f3&region=cn-east-3&locale=zh-cn#/cce/cluster/fdd6c126-ebc2-11e9-bee9-0255ac1002c2/create/workload?namespace=paas&type=deployment");Thread.sleep(3000);//通过唯一ID获取指定的DOM,你看华为的ID后面都带了数字,会变WebElement nameInput = driver.findElement(By.id("ti_auto_id_13"));WebElement instanceInput = driver.findElement(By.id("ti_auto_id_15_input"));WebElement containerInput = driver.findElement(By.id("ti_auto_id_45"));WebElement imageInput = driver.findElement(By.id("ti_auto_id_46"));WebElement cpuMaxInput = driver.findElement(By.id("ti_auto_id_52"));WebElement memoryMaxInput = driver.findElement(By.id("ti_auto_id_55"));WebElement subButton = driver.findElement(By.id("ti_auto_id_237"));nameInput.sendKeys("service-" + serviceName);instanceInput.clear();instanceInput.sendKeys("1");//时区同步选择//执行JS操作,JS这个很好用,有些不能直接操作的DOM,都可以用JS去解决((JavascriptExecutor) driver).executeScript("document.getElementById(\"ti_auto_id_20_awrapper\").click();");//清空输入框内容containerInput.clear();containerInput.sendKeys("service-" + serviceName);((JavascriptExecutor) driver).executeScript("document.getElementById(\"ti_auto_id_47\").click();");List<WebElement> imageSearchInput = driver.findElements(By.className("ti3-searchbox-input"));imageSearchInput.get(0).sendKeys("service-" + serviceName);//回车imageSearchInput.get(0).sendKeys(Keys.ENTER);ThreadUtil.sleep(3000);//选择镜像List<WebElement> checkImage = driver.findElements(By.className("ti3-radio-skin"));((JavascriptExecutor) driver).executeScript("arguments[0].click();", checkImage.get(2));List<WebElement> checkImageClick = driver.findElements(By.className("ti3-btn-danger"));((JavascriptExecutor) driver).executeScript("arguments[0].click();", checkImageClick.get(1));ThreadUtil.sleep(2000);cpuMaxInput.clear();cpuMaxInput.sendKeys("1");memoryMaxInput.clear();memoryMaxInput.sendKeys("1024");//提交((JavascriptExecutor) driver).executeScript("arguments[0].click();", subButton);// 等待创建任务完成Thread.sleep(5000);} catch (Exception ex) {ex.printStackTrace();System.out.println("失败的任务[]" + serviceName);//这里我将失败的任务保存起来,等所有任务执行结束后,控制台可以输入继续执行//因为由于页面加载时间是不确定的,有时候会因为这个原因操作DOM失败failList.add(phantomService);}}}

退出关闭

最后可以关闭浏览器

// 关闭浏览器
driver.quit();

从我使用selenium的感受来说,非常强大,非常好用,虽然刚开始写代码一遍遍测试有点花时间,但当它自己跑起来,你就可以喝喝茶,看看它,非常的有趣惬意。
官网地址:https://www.selenium.dev/


作者其他文章推荐:
基于Spring Boot 3.1.0 系列文章

  1. Spring Boot 源码阅读初始化环境搭建
  2. Spring Boot 框架整体启动流程详解
  3. Spring Boot 系统初始化器详解
  4. Spring Boot 监听器详解
  5. Spring Boot banner详解
  6. Spring Boot 属性配置解析
  7. Spring Boot 属性加载原理解析
  8. Spring Boot 异常报告器解析
  9. Spring Boot 3.x 自动配置详解
http://www.yayakq.cn/news/911790/

相关文章:

  • 外贸公司都是在什么网站做推广网站建设百度推广开户
  • 网站店铺的图片怎么做的宁波网站建设营销定制
  • 濮阳做网站的电话南京振高建设有限公司官方网站
  • 互联网创业项目整合网站国外服务器需要备案吗
  • 网站建设合同印花税税率wordpress中文源码下载
  • 北京企业网站建设方案广东专业高端网站建设
  • 网站建设佰首选金手指十七开发一个网站需要哪些步骤
  • 便捷网站建设哪家便宜游戏推广员是做什么的
  • 防邪办网站建设方案文档常州网站公司网站
  • 合同 制作 网站wordpress如何去除底部
  • 网站搭建有分谷歌思途旅游网站建设系统
  • 广东建泰建设有限公司网站河南省住房与城乡建设厅网站
  • 微信企业网站模板无法分享到微信wordpress
  • 企业网站建站系统哪个好用好123主页官网
  • 邯郸移动网站建设价格活动公司
  • 网站建设微信文章企业oa系统搭建
  • 怎样提高网站访问速度电商公司简介
  • 公司地址查询网站高端制造
  • 网站的规划和建设怎么建设阿里巴巴国际网站
  • 云服务器免费品牌seo如何优化
  • 推荐网站网页广州制作网站报价
  • 国外网站后台模板下载小公司网站怎么建
  • 网站app免费软件网站开发项目验收报告
  • 大港手机网站建设销售一个产品的网站怎么做
  • 山西建设注册中心网站用动物做网站名
  • 天津网站制作公司电话长沙网页设计培训服务好长沙大计校区
  • 视频网站前台怎么做济南哪家网站技术比较高
  • 推广引流方法与渠道海口网站建设优化
  • 个人网站优秀唯品会网站建设 分析报告
  • 天津企业免费建站有哪些调查网站可以做兼职