最终 想到这样子下去也不是办法,会造成工作很被动,于是开始着手建立以Web操作方式,结合git,rsync来实现自动代码发布。 前端的一个mvc框架,用来实现浏览器与后端的交互,使得后端不需要关心前端网页的渲染,专注后端逻辑的开发。 以上是整体的流程,现在来说详细说下具体的逻辑实现: 1、开发人员提交代码更新,主要提交的字段包括“更新理由”,“svn代码路径”; 2、后端收到请求后,把此数据插入到数据库,标记此更新单为“等待预发布环境更新 ,这样就实现了版本的回滚。 枯燥是因为没有意识或者懒得把重复的操作通过制定流程来使其自动化,在不断地把各种在运维工 作中占用时间比较多的重复操作通过技术来使得自动化时,我们既高效完成了工作,节省了时间,又能提高编程和解决问题的能力
2、IDEA集成 通过IDEA集成Sonar,实现开发过程中就可以自动检测代码中存在的安全问题。 (2)基本使用 在IDEA中安装SonarLint插件,实现自动检测项目文件分析或者对整个项目进行分析。 ? 3、Gitlab集成 通过Gitlab集成Sonar,就可以实现提交代码后自动邮件反馈扫描结果。 (1)在项目根目录编写.gitlab-ci.yml文件,通过GitLab-Runner实现Gitlab与Sonarqube集成。 ? (2)当提交代码的时候,自动检测代码并发送报告给提交者。 ? 4、Jenkins集成 通过Jenkins集成Sonar,就可以实现在流水线做自动化持续代码扫描。 (1)在Jenkins中,使用Pipeline流水线,拉取代码、执行打包、代码扫描。 ?
因为项目组已有现成的组件可以轻松实现 sftp 服务器文件的快速上传,本来是一件很容易的事情,但是问题出现在这个指定的 sftp 服务器所指定的密码带有系统关键字和一些特殊字符,导致现在的组件在解析过程中会失败 代码实现 Python代码 #test_upload.py import os, sys import yaml from optparse import OptionParser import paramiko sftp 配置文件代码,将指定key: test_file_upload 下的 key:value 的值转换为字典。 形参:--node,实参:node 所代表的业务含义是:指定要上传的 sftp 的节点,具体参数值对应 sftp配置文件代码中的 test_file_upload 2). 参数:dest dest是参数传入后由哪个变量来存储的,后面代码对该参数的引用也是使用这里定义的变量名来引用的。 参数:default default 是与 action 的值结合使用的。
? ? ? ? ? ? ? ? ? ?
需求背景 自己搭建的博客,代码托管到github,心想博客更新那么频繁,每次push代码后都到服务器上手动部署,实在是太麻烦, 于是想到自动化部署,开始的时候只是想通过一个简单的 shell +cron vps启动一个nodejs进程(webhook),用来监听github仓库的状态; 管理员本地修改代码,然后push到github代码仓库,master分支; webhook监测到master分支的push 操作; 触发VPS上部署的脚本,代码到指定位置wwwroot。 代码发布脚本 #! 测试 通过上面的配置,及完成了自动化部署的所有操作,此时可以通过向仓库中push代码来进行测试。 ? 开启Active后每次推送都会有详细日志,如果推送失败,根据日志调试即可。
最近一直在研究自动化漏洞发现的技术,github 也有非常多优秀的集成工具,本着学习研究的心态,对这些工具进行了学习,今天来分享其中的一个,通过 bash 脚本将各种工具集成到一起,实现无需自己实现相关功能也能自动化漏洞发现 grep 能做非常多的事儿,但是由于参数复杂,每次使用可能都要去查询怎么用,如何组合参数,而这个工具就是为了能够在其他工具输出结果之后,通过这个工具来对结果进行整理,从而输出不同工具所需的参数内容,实现不同工具之间的数据共享来实现自动化的流程 上发现子域名) 项目地址: https://github.com/gwen001/github-subdomains github 是程序员的聚集地,程序员的共享精神是一直存在的,他们也会时不时把自己在企业写的代码分享出去 ,从而给了我们一个信息收集的途径,那么这个工具就是通过 github 的代码搜索功能来实现子域名的收集。 你可以自己编写脚本实现,当然也可以使用这个工具,直接看效果吧: 0x0B 阶段性总结 这个项目集成了三十个工具,今天先分享十个吧
自动化-搭建Jenkins实现Pytest代码自动部署 本文主要讲述如何通过Docker或直接在Windows上安装Jenkins,如何使用Jenkins自动部署测试代码 前言 自动化测试代码最大的作用就是进行回归测试 ,监控软件产品的运行状况.而Jenkins可以实现自动化代码的自动部署,不用每一次都用人工触发.根据目前的测试需求,我们希望通过Jenkins达到: 每天定时运行,监控线上环境 集成Allure报告,测试结束后起一个 allure服务,返回测试报告链接 使用邮件通知测试结果 需求明确了,实现方法上,Docker及windows版本的Jenkins我会分别安装1次 需要特意提及的是,你在使用此教程之前,应该提前将自己的测试代码发布到了 named _ctypes in Python (pythonpool.com) sudo apt install libffi-dev Reference Docker+LNMP+Jenkins+ 码云实现 PHP 代码自动化部署 | PHP 技术论坛 (learnku.com) (63条消息) Jenkins构建项目_florachy的博客-CSDN博客 [Jenkins集成allure测试报告 - linux
紧接着上文说起,咱们这次来完成基于jenkins的自动化部署,也就是当有新的代码推送就会触发自动构建。 上一节我们已经实现了手动部署,大部分基础配置都已完成,不了解的可以先回顾下。。。。 基于jenkins实现手动拉取码云代码,实现半自动化部署 要实现自动化部署,其实这部分操作非常简单,只需要配置好构建触发器以及触发的事件即可。 本文要达到的具体目标:使用jenkins实现自动化部署 ps:我的服务器:CentOs8 Linux 计划了几个想要达到的目标 在自己的机器上跑起来 done 使用jenkins将码云上的git仓库拉到服务器 done 将代码拉到服务器后,可以手动触发构建、部署 done 完成自动化部署 done 开发一个自己的插件,具体做啥还没想好 待定... 目前支持触发事件有: Push Events :推送代码事件 Opened Merge Request Events :提交 PR 事件 Updated Merge Request Events :更新
前言 本文介绍了笔者通过一个简单的方法利用Cobra工具来实现自动化代码审计的经验,以及对Cobra工具代码的一些定制改动。 这样的弊端一是源码传输方式不可控,二是手动执行审计任务太繁琐,所以开始寻找实现自动化审计的方法。因为公司预算吃(mei)紧(qian),只能从开源工具上入手。 三、实现方法 我通过一个简单的python脚本实现了以上的需求,这里把这个脚本称作调度脚本吧,整个自动化项目的结构和逻辑如下: ? 通过这个调度脚本,原先的上线审计流程就完全实现自动化了,我只需要在收到审计报告后查看一下结果,自动化后流程图如下: ? 5.总结 本文分享了笔者是如(gong)何(si)低(mei)成(you)本(qian)利用一个简单python调度脚本搭建基于Cobra的自动化代码审计平台的经验,感谢Cobra团队。
然后刷新,就已经是最新代码了。 我觉得这个文章已经很详细了,因为我在这个jenkins自动化部署上已经消磨了一整天了。 希望大家可以避坑! 今天shell里执行的是一个简单的html文件。 回头需要自动化部署vue, 应该会有点麻烦, 我还没有看, 后续继续更新! ---- 时隔一夜,我来更新了, 自动化部署vue项目的步骤。
弹框: 我最开始遇到就是这个拦路虎,虽然录制时有代码,但是运行的时候总是不通过。 文档这句话提醒了我. or decline it. page.on("dialog", lambda dialog: dialog.accept()) page.click("button") 我在录制的基础上,然后又加了代码点击了一下
由于项目需要,写了版针对业务的自动化测试代码,主要应用场景在于由于业务日趋复杂,一些公共代码的改动,担心会影响已有业务。还没进行重写,但知识点还是不少的与大家分享实践下。 那么下面对整个自动化测试的流程进行说明: 一、导入前台活动 由于是自动化测试,我们不可能每次都手工上下线,或在页面配置启用某个活动,所以通过直接调用前台系统 导入功能 的方法,将活动配置写入mysql
一、背景 在甲方做安全的同学可能会有一项代码审计的工作,通常需要从gitlab把代码拉取下来,然后使用代码审计工具进行扫描,然后对结果进行人工确认; 在这个流程中需要做的事情比较繁琐,比如说gitlab 如何配置token、如何自动化把代码拉取到本地、如何调用fortify实现批量扫描等诸多繁琐问题。 本篇文章以甲方安全代码安全建设为主线,分享如何让代码审计工具自动化扫描gitlab仓库里的代码。并且提供了一个便捷的实验环境供大家测试。 本文实验中调用了多款代码审计工具(包含semgrep、fortify、墨菲、河马,其中fortify软件属于商业性质,本文章无法提供该软件,如需自备此软件并存放在主机/data/share/fortify 目录),完成试验后可以看到各代码审计工具的效果对比。
然后刷新,就已经是最新代码了。 我觉得这个文章已经很详细了,因为我在这个jenkins自动化部署上已经消磨了一整天了。 希望大家可以避坑! 今天shell里执行的是一个简单的html文件。 回头需要自动化部署vue, 应该会有点麻烦, 我还没有看, 后续继续更新! ---- 时隔一夜,我来更新了, 自动化部署vue项目的步骤。
以前别人说会selenium就是会自动化。好像很高大上的样子。现在会selenium估计是基本的。大家都忙着内卷,各种轮子越来越多,自动化的门槛也越来越低。 我们聊到自动化,一般会聊到自动化的测试框架。 最近,微软开源了一个项目叫「playwright-python」这个项目是针对Python语言的纯自动化工具,连代码都不用写,就能实现自动化功能。对于小白来说,只要操作一遍,简单看懂代码,就完事了。 ,我们只需手动操作浏览器,它会录制我们的操作,然后自动生成代码脚本。 ,结束后自动关闭浏览器,保存生成的自动化脚本到py文件。
Step1:首先介绍下python+appium的框架结构 如下截图所示 (1):apk目录主要放置待测app的apk资源; (2):config目录主要放置配置文件信息,包含:数据库连接配置、UI自动化脚本中所需的页面元素信息及 app启动信息、自动化报告邮件发送配置信息、接口请求的对应的url信息等【大家可根据待测app的功能添加或减少配置文件信息】。 目录:待测app具体的需测试功能点的测试脚本代码信息; Step2:接下来介绍的是框架目录下每个文件的具体内容 (1):依据上面截图可对应到step1中描述的各个目录下所包含的文件的具体功能; (2) 服务启动封装文件): 该文件会引用iniHelper文件对element.ini文件页面元素信息的获取信息,来获得启动时必需的参数信息,后面会具体贴出iniHelper文件的内容,建议大家动手敲下示例代码 Step3:整体思路说明 (1):使被测功能的脚本代码更加简洁,方便维护脚本,需要将测试数据与程序进行分离; (2):页面元素信息可以封装到配置文件中,并封装对应的读取配置文件的方法,在测试脚本需要使用时直接调用
目录 1、模块安装 2、模块使用 ---- 本博客将为各位分享Python Helium库,其是在 Selenium库基础上封装的更加高级的 Web 自动化工具,它能够通过网页端可见的标签、名称来和 Web 通过使用Helium库,了解其基本的API使用,即使不熟悉HTML、CSS等网页知识,也可轻松完成网页自动化开发设计,实现学习、工作所需。 1、模块安装 Helium库安装使用pip指令即可实现,如下所示: pip install
一、背景在甲方做安全的同学可能会有一项代码审计的工作,通常需要从gitlab把代码拉取下来,然后使用代码审计工具进行扫描,然后对结果进行人工确认;在这个流程中需要做的事情比较繁琐,比如说gitlab如何配置 token、如何自动化把代码拉取到本地、如何调用fortify实现批量扫描等诸多繁琐问题。 本篇文章以甲方安全代码安全建设为主线,分享如何让代码审计工具自动化扫描gitlab仓库里的代码。并且提供了一个便捷的实验环境供大家测试。 本文实验中调用了多款代码审计工具(包含semgrep、fortify、墨菲、河马,其中fortify软件属于商业性质,本文章无法提供该软件,如需自备此软件并存放在主机/data/share/fortify 目录),完成试验后可以看到各代码审计工具的效果对比。
我们写移动自动化的时候,一般用appium, 感觉appium用起来太重了。 首先装环境得搞半天,然后启动一个driver要填很多参数,一个参数没填,或者填错了,就启动不起来。 好不容易跑起来了,写了一通代码,结果项目迭代了,又得重写。 有没有一种轻量的,可以录制的工具可以用呢? python-uiautomator2 自动化测试开源工具,其封装了谷歌自带的 uiautomator2 测试框架,可以运行在支持 Python 的任一系统上。 ).click() # 监控 OK wct.when('OK').click() # 开启弹窗监控,并等待界面稳定(两个弹窗检查周期内没有弹窗代表稳定) wct.wait_stable() #其它实现代码 将录制好的代码,结构化一下,然后用pytest,或者unittest组织一下。就可以得到一个高效且方便的自动化测试了。 这篇只是写了android的,其实IOS也差不多,关键是要编译安装wda.
在之前的文章AI如何影响测试行业中提到了随着更先进的技术进入由AI/ML支持的连续测试领域,组织尤其是测试从业人员常常正在争论哪种更好,是通过编程语言完成自动化测试还要采用无代码测试解决方案呢? 对于一个已经在进行项目(Web/移动)并且已实现大量实践的,嵌入到流程,CI/CD和其他触发器中的基于代码的测试团队来讲,应认真考虑这样的考虑因素:什么是改变的动力?基于代码的套件中是否存在覆盖空白? 在这种情况下,无代码工具应填补团队中的重要空白,并与现有CI/CD和其他流程很好地集成在一起,最好不要造成工作重复或额外的工作内容。 最后谈谈测试自动化脚本的维护成本。 无代码通过元素定位方式的自我修复,测试步骤等以多种方式解决了此类挑战。也可以在基于代码的项目中通过高级的报告和分析以及自动的根本原因分析和其他方法来实现,但是在这种情况下,无代码确实表现得最为出色。 无论是在代码自动化测试和无代码自动化测试中间的任何一点找到平衡,这种平衡都不是长久稳定的,要以一个变化的心态看待过去、现在和将来。以人为本,更重要是对人的技能重视,而不是期望工具或者方法解决人的问题。