用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

自动化关键数据记录

简介

关键数据记录是 Web 自动化测试中的关键部分,它们提供了关于系统行为和执行过程的详细信息,有助于验证用例的正确性,排查问题和确保应用程序的质量。

行为日志

行为日志是一种用于记录系统或应用程序的操作和事件的技术。它的目的是为了跟踪和记录应用程序的执行过程,以便在需要时审计、故障排查。

行为日志通常包括以下内容:

  • 时间戳(Timestamp):每个日志记录的时间,记录第个操作或事件发生的确切时间点。
  • 操作描述(Action Description):对每个操作或事件的详细描述。例如执行的操作。
  • 事件级别(Log Level):表示日志记录的重要性级别。如信息、警告、错误等。
  • 相关信息(Additional Information):可以包括与操作或事件相关的其他数据,如参数、输入值等。

步骤截图

步骤截图用于捕捉 Web 自动化测试测试中的关键执行步骤,以便验证测试用例的正确性和可视化执行过程。

步骤截图包括以下内容:

  • 屏幕截图:捕获 Web 自动化测试执行期间的屏幕图像,包括应用程序界面、当前页面内容和操作后的可视变化。
  • 元素状态截图:捕获特定元素的状态,例如鼠标悬停、点击或其他交互触发的状态。这有助于验证页面元素的交互性和正确性。
  • 控制台日志截图:捕获测试执行期间浏览器控制台的日志信息。将控制台日志与屏幕截图结合使用,有助于更全面地分析测试执行过程中的问题。

页面源代码 page source

page source 是一个用于捕获当前网页的 DOM(文档对象模型)结构的关键数据记录。用于排查元素查找问题、验证页面结构和属性。page source 通常包括以下内容:

  • HTML 结构:整个页面的 HTML 标记,包括元素、属性和内容。
  • CSS 样式:与页面关联的 CSS 样式信息,有助于了解元素的布局。
  • 元素属性:每个元素的属性,用于标识和定位元素。
  • JavaScript 代码:如果页面包含 JavaScript,也可以包括 JavaScript 代码,以便分析页面的交互行为。

行为日志记录

需要先导入 logging 模块,运行之后,可以看到打印了对应的行为日志。

Python 实现

def test_logging():
    # 实例化driver
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    # 打开百度首页
    driver.get("https://www.baidu.com")
    logging.info("打开百度首页")
    # 输入霍格沃兹测试学院
    driver.find_element(By.CSS_SELECTOR, "#kw").send_keys("霍格沃兹测试学院")
    logging.info("输入霍格沃兹测试学院")
    # 点击搜索
    driver.find_element(By.CSS_SELECTOR, "#su").click()
    logging.info("点击搜索")
    time.sleep(3)
    driver.quit()

Java 实现

publicclass demoTest{
privatestaticfinalLoggerlogger=LoggerFactory.getLogger(demoTest.class);
@Test
voiddemo(){
//实例化driver
WebDriverdriver=webdriver.Chrome();
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
// 打开百度首页

driver.get("https://www.baidu.com");
logger.info("打开百度首页")
// 输入霍格沃兹测试学院
driver.findElement(By.cssSelector("#kw")).sendKeys("霍格沃兹测试学院");
logger.info("输入霍格沃兹测试学院")
// 点击搜索
driver.findElement(By.cssSelector("#su")).click()
logger.info("点击搜索")
Thread.sleep(3)
driver.quit()
}}

步骤截图记录

driver.get_screenshot_as_file:用于将当前浏览器窗口的屏幕截图保存为文件,需提前创建保存截图文件的目录。

Python 实现

def test_screenshot():
    # 实例化driver
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    # 打开百度首页
    driver.get("https://www.baidu.com")
    driver.get_screenshot_as_file(f"./screenshot/打开百度首页.png")
    # 输入霍格沃兹测试学院
    driver.find_element(By.CSS_SELECTOR, "#kw").send_keys("霍格沃兹测试学院")
    driver.get_screenshot_as_file(f"./screenshot/输入霍格沃兹测试学院.png")
    # 点击搜索
    driver.find_element(By.CSS_SELECTOR, "#su").click()
    driver.get_screenshot_as_file(f"./screenshot/点击搜索.png")
    time.sleep(3)
    driver.quit()

Java 实现

@Test
voidsogouScreen2()throwsIOException,InterruptedException{
driver.get("https://www.sogou.com/");
WebElementsearch=driver.findElement(By.xpath("//*[@class='sec-input-box']/input"));
actions
.sendKeys(search,"霍格沃兹")
.sendKeys(Keys.ENTER)
.perform();
Thread.sleep(2000);
WebElementelement=driver.findElement(By.xpath("//*[@class='struct201102']//*[@vrcid='title.ba18e87']"));
//在元素element被找到后,进行截图
FileeleScreen=element.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(eleScreen,newFile("./image2.png"));
}

page source 记录

driver.page_source:用于获取当前网页的 HTML 源代码。

Python 实现

def test_page_source():
    # 实例化driver
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    # 打开百度首页
    driver.get("https://www.baidu.com")
    # 打印页面信息
    print(driver.page_source)
    # 输入霍格沃兹测试学院
    driver.find_element(By.CSS_SELECTOR, "#kw").send_keys("霍格沃兹测试学院")
    # 点击搜索
    driver.find_element(By.CSS_SELECTOR, "#su").click()
    time.sleep(3)
    driver.quit()

Java 实现

@Test
voidsogouScreen3()throwsIOException{
driver.get("https://www.sogou.com/");
StringpageSource=driver.getPageSource();
logger.debug(pageSource);

FileWriterpageSourceFile=newFileWriter("./pageSource.html");
pageSourceFile.write(pageSource);

}

通过设立截图节点,日志打印,可以清晰看到程序运行时的情况以及出现报错时的页面信息。


在测试领域,技术的提升固然至关重要,然而,同样不可忽视的是测试管理软技能的必要性。拥有卓越的测试技术能力是基石,但在现代软件开发环境中,仅凭技术本身难以应对项目的复杂性和团队协作的挑战。测试管理软技能的提升可以为技术高工打开更广阔的发展空间。

首先,测试管理能力使你能够更好地规划、组织和执行测试策略。通过学习测试管理,你将能够更有效地制定测试计划、分配资源,并合理安排测试活动,从而提高项目的整体效率。

其次,软技能的提升将增强你在团队中的领导力和沟通能力。良好的测试管理者不仅能够理解技术细节,还能够与不同职能团队有效沟通,推动团队朝着共同的目标前进。这种全面的素养在职业发展中至关重要,有助于建立良好的团队协作氛围。

最后,测试管理软技能的提升有助于更好地理解业务需求和用户期望。通过深入了解项目的背景和目标,你将能够更有针对性地设计和执行测试,确保产品不仅在技术上优秀,还能够满足用户的期望,提升整体用户体验。

因此,作为技术高工,将精力投入到测试管理软技能的学习和提升中,不仅有助于个人职业发展,也将为团队和项目的成功贡献更大的价值。

我这边整理了一套测试管理软技能提升的学习路线图,感兴趣的可以自取~

以上就是“用Python实现高效数据记录!Web自动化技术助你告别重复劳动!”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值