Transcription
在 YouTube 上也是。这将是一个简单的会议,我们将讨论一些对您整体有帮助的事情。好的。我们将讨论如何利用这一点以及其他一些事情。好的。我希望每个人都跟我在一起。在聊天中输入“是”。好的。嗯,我检查一下我们是否直播。好的。一切正常。每个人的音频视频都还好吗?好的。大家学习得怎么样?学习得很好。好的。太棒了。太棒了,太棒了。所以推广者正在直播。好的,太棒了。太棒了。好的,所以我们也在 YouTube 上直播。大家在聊天中给我一个赞。所以今天我们将讨论一些重要的事情,大家。我们将讨论 QA 技能。为什么 QA 技能很重要,而不仅仅是 QA 技能?有一个叫做技能的概念,如果您使用 Visual Studio Code 和 GitHub Copilot,如果您使用 Amazon Q,如果您使用任何一种工具参数,如果您使用任何一种代理来编写您的测试用例、测试计划,或者甚至修复您的 playright 测试用例、selenium 和许多其他内容,您就需要一个叫做技能的概念。我们如何创建它,如何创建您自己的技能,如何找到 200 到 300 个额外的 QA 相关技能,这些技能非常非常重要。这就是我们将要讨论的。大家,如果您跟我在一起,请在聊天中输入“是”,因为我们将立即开始会议,让我开始录制,因为录制是受欢迎的,大家欢迎,今天我们将讨论一个叫做 AI 代理的 QA 技能,你们每个人都应该知道。好的,我们将在最后回答很多问题,但今天的议程是什么?让我与您分享。这将是一个非常精彩的会议。如果您是使用 Visual Studio Code 和 GitHub Copilot 的人,请在聊天中输入 G。如果您跟我在一起,请在聊天中输入 G。先生,我正在使用 Amazon Q。你们在使用哪个?请在聊天中告诉我。您在使用 GitHub Copilot 吗?您在使用 Amazon Q、Claude Code、Codeex、CLI、Kilo 吗?有很多。先生,Amazon Q 说我们正在使用 Amazon Q。好的。还有什么?先生,我们正在使用旧的 cloud code、GitHub、VS Code 和 go copilot。大家,很好,很好,很好,很好。因为今天我将让您的 GitHub copilot 拥有超能力。有多少人想要超能力?在聊天中给我一个“是”。有多少人想要超能力?输入“是”,因为今天我将给您一种神奇的方法,让您可以使用您正在使用的 GitHub copilot。这是一个开源的东西,如何添加技能的概念,如何让它遵循并成为您 QA 的最佳版本。它将知道如何编写 playright 测试用例。Selenium APM 性能和测试计划创建,您所谈论的一切,它基本上都可以知道,并且它必须遵循哪些规则。所以您现在看到的每个代理,我们想要强调的主要问题,我将告诉您主要问题是什么,主要问题是现在有多少人遇到过这个问题,先生,每当我们要求围绕这个数据票据或这个创建测试计划时,它会以我们不期望的格式创建,甚至您的 GitHub pilot 也不行,有多少人遇到过这个问题,先生,格式上它不遵循我们想要的确切内容,有时我们给他们一个模板,但过了一段时间它就忘记了,是还是否,假设我必须做 200 多个零票,我需要学习,我需要基于此创建测试用例,有时它会忘记,有时它会记住,对吧?所以它没有保持一致性,没有保持结构化输出,有多少人遇到过这个问题,请在聊天中输入“是”,在聊天中输入“是”,遇到这个问题。所以让我告诉您今天的议程,好的。如果您遇到过这个问题,这就是我们今天要讨论的议程,大家。所以我们将讨论什么是 QA 技能,它将如何有用。您如何创建自己的版本。好的。嗯,您如何创建自己的版本,或者您可以实现哪些事情。好的。您现在可以实现哪些事情,它将如何对您有帮助?我将与您分享一个实际示例,说明如何与 GitHub copilot 或 cloud code 集成。好的。我们还将以非常简单的方式看到五个实际示例。关键是这个项目是什么,以及您如何使用它。大家,如果您跟我在一起,请在聊天中输入“是”,我和您在一起。好的。现在真正的问题是,先生,这个 QA 技能到底是什么?为什么我们需要这个技能?技能到底是什么?有多少人对此有疑问,先生?它到底是什么技能?技能到底是什么?首先,我们来讨论一下,先生,技能文件到底是什么?技能文件到底是什么?您见过很多次了,先生,我见过很多次了,可能也用过。好的。这个技能文件是什么?为什么您需要使用它?好的。您需要使用它的真正原因非常简单,大家。真正的原因是,无论您使用什么 AI 代理,好的。无论您使用什么 AI 代理,您可能正在使用 GitHub copilot。好的。我敢肯定人们正在使用它。我们有 Amazon Q。我们正在使用 Amazon Q。我们也在使用 cloud code。我们也在使用嗯 Ko。一些人正在使用 Ko IDE。是的,一些人正在使用 Kimi code。Kimi code 也有。有多少人也在使用 Kimi code?一些人正在使用它。还有什么,大家?GitHub copilot。嗯,还有什么?还有 Codeex。一些人也在使用 Codeex。对,先生,anti-gravity。anti-gravity 嗯,还有 anti-gravity IDE。顺便说一句,这不是一个代理。我们也在使用 anti-gravity。我们甚至有 cursor,我们正在使用它。先生,我们也在使用 winds surf。绝对正确。对,现在主要问题是,您也有,我也有 anti-gravity,您也有 anti-gravity,但我的 anti-gravity 比那要好得多。为什么?原因是什么?您认为是什么,大家?原因是什么?原因是什么?因为我有一个非常重要的东西,叫做 skills.mmd 文件。对。这个 skills.mmd 文件是什么?这是一个文件,基本上所有编码代理都使用它。大家,如果您明白了我的意思,请在聊天中输入“是”。好的。它们基本上将使用这个 skills.mz 文件来获取关于特定主题、特定方式的详细信息。好的。所以互联网上已经创建了数百个技能。有多少人跟我在一起?所以他们已经创建了数百个工具。那么为什么我们不利用这些知识呢?为什么我们不需要这些知识呢?例如,我知道什么是高级 selenium play 自动化框架。我将告诉您我们正在解决什么问题,大家。所以如果您说,如果您问他,给他 selenium 框架,大家,我们将问他,给他 selenium 框架。所以给他 Java 的 selenium 框架。好的。现在您将得到什么答案,大家?您将得到一个基本的 pom driver SNG 之类的东西。好的。好的,它给您提供了一些结构。现在,您认为在生产环境中我们会使用这个吗?您认为在生产环境中我们会使用它吗?永远不会。是还是否?您怎么看,大家?是还是否?实际上,答案是绝对否定的。您需要的是一个高级技能。高级技能基本上意味着,如果您去技能这里,只需搜索 selenium。好的。让我用 selenium 搜索一下。在这里,您会发现这是我们创建的 selenium 框架。现在这个框架基本上包含这些细节,想象一下您拥有的细节。我们有一个完整的结构,一个完整的 Maven 文件,一个完整的驱动程序工厂。好的。让我放大一下。完整的驱动程序工厂,对。完整的基类对象,我们已经添加了。我的具体类将是什么样子?我的测试用例将是什么样子?我将如何编写我的 testNG 文件?数据提供者将如何存在?显式等待我们将如何编写?我们如何编写 alert 代码、frame 代码、windows 代码、ruction 代码、testng 代码、最佳实践是什么、反模式是什么、我们将做什么 CI/CD。现在告诉我,大家,告诉我,哪个更好,这个还是那个,因为如果您不向 AI 正确提问,您肯定会得到这个。所以每次您的代理工作时,每当您的编码代理工作时,例如,假设我正在使用 anti-gravity,大家。现在考虑这种情况。假设我正在使用 integravity。如果我打开一个文件夹,假设让我们创建一个简单的文件夹。转到下载。嗯,让我们在 learnai 中创建一个简单的文件夹。嗯,我们正在创建,假设是 selenium 框架演示。好的。现在如果我给出相同相同,如果我让他创建相同的东西。您认为是什么,大家?它会做什么?请在聊天中输入“是”。如果我基本上问他,如果我创建这个,给我框架。给我框架。在这种情况下,如果我问他,好的。如果我问他创建创建 selenium 自动化框架,对。顺便说一句,如果您使用 Gemini 3,您可以使用 Opus 和您想要的任何东西。现在,它到底会做什么?它将没有技能,因为它没有知识。它没有技能来创建它。它有一个基本技能,因为这些大型语言模型是在基本级别上训练的。首先,如果您不正确提问,对。对。现在,您有两个选择。好的。所以,通常您有两个选择。要么给一个给一个。技能就是以一种恰当的方式提问。好的。AI 编码助手能够理解并根据技能给出恰当的回复。有多少人明白了,大家?是还是否?它只不过是一个恰当格式化的提示。是还是否,大家?它只不过是一个恰当格式化的提示。但问题是什么,大家?问题是什么?假设我必须生成,我必须生成,然后我需要多次给出这个是或否。我可以多次给出这个提示,对吗?不。您需要做的是,每个代理都有一个叫做它们各自点文件夹的东西。大家,这就是 skills.mmd 的优势。它到底解决了什么问题?它到底解决了什么问题?我们是否必须一次又一次地将技能交给代理?大家,我告诉过他一次,我教过他一次如何创建 selenium 测试用例。您认为我需要一次又一次地给他吗?有多少人认为我们需要多次给出?您怎么看,大家?这会非常麻烦。这会非常麻烦。是还是否?是还是否?所以我们所做的是,这是一件非常简单的事情。我们所做的是什么?我们开发了一个叫做 skills.mg 的东西。好的。现在 skills.sh 文件只不过是我们拥有的精选技能的开源目录。现在我们将获得什么优势?它通常是一个开源目录。问题是,因为我们已经在 skills.sh 上有技能了。现在 skills.sh 有很多开发相关的技能。它没有与 QA 相关的技能,只有很少的技能。那么为什么我们不为 QA 也拥有它呢?所以 QA 技能是开源项目之一。现在优势是什么,先生?优势是它有超过 280 个免费技能供您使用。有多少人跟我在一起?有大约 250 个,也就是 80 多个技能可用。现在,先生,我们到底有什么?如何创建一个 playright 端到端测试用例。现在,如果您问您的 claude code,您问它一个恰当的方式来给我端到端的 playright 框架。这就是您可以告诉它的方式。它只不过是一个恰当的提示方式,有人写了它,您正在自动利用它。有多少人明白了?请在聊天中输入 G。这就是我明白了,对吗?您正在,我正在将我的提示给您,这样您就不必一次又一次地创建它。有多少人明白了?是的,在聊天中给我一个“是”。对。这是最重要的事情。所以您会发现,先生,我们有很多关键功能。您会发现,好的,让我向您展示我们的关键功能。您会看到我们有超过,所以这里顺便说一句,它已经创建了框架。我们将讨论这个。好的。在这里,您会发现我们有 280 多个,30 多个代理支持。好的。对。一个命令即可安装,自动检测技能包,100% 免费且有质量评分,这意味着您看到的许多框架,对,它们与 playrides、selenium 脚本等相关,它们将对我们有所帮助。好的。现在通用的技能平台本质上非常通用,而我们这里主要关注 QA。好的。让我关闭这个。好的。现在,我们如何添加它,大家,先生,我们到底需要做什么。这是一件非常简单的事情,大家。非常简单。您只需要确保您已经安装了 NodeJS,大家。如果您想尝试一下,请告诉我。顺便说一句,我们的框架已经创建了。我们的框架已经由这个人创建了。好的。并禁用,现在。然后让我关闭它。好的。顺便说一句,这个人创建了我们的框架,并且它运行得非常好。这是文件夹结构。它已经保留了。好的。非常基础。非常基础,并不像我们想要的那么好。好的。我将告诉您为什么。所以,首先请确保您已安装 NodeJS。好的。嗯,转到 Windows 系统。确保您在此处有 MSI 文件。确保已安装 NodeJS。之后打开您的终端。好的。嗯,点击新标签页。嗯,让我向您展示我们有什么。好的。这里。现在您只需要运行,首先确保您需要确保 node 已安装。好的。并确保 npm 也已安装。好的。现在两者都已安装。您只需像这样安装 npm -add。好的。现在这会做什么?它将自动从 Q 技能包中添加。它基本上已经识别出我安装了 cloud code。我也安装了 cursor。我也安装了 cloud code cla。我也安装了 Gemini。所以如果我选择例如 code,然后按 Enter,它将下载一个文件。如果您打开这个文件夹,大家,您会看到一个 skill.md 文件被生成了。现在,这是您可以使用的文件。所以有两种方式,要么您可以使用 NodeJS,要么如果您不想使用它,大家,如果您不想使用它,您可以做什么?您可以直接去这里,有一个下载选项。有多少人可以看到直接下载?好的。让我用 selenium 来演示,因为我们刚才正在使用 selenium,我们刚才创建了一个 selenium,大家。现在,现在让我向您展示一些有趣的东西,大家。所以这是我们使用的 selenium。好的。现在这包含一个高级 selenium 框架,大家。我将要做的是,我也可以安装这个。所以让我运行相同的命令,大家。让我在这里运行相同的命令。对,它正在问我,好的,您需要选择哪个。假设是 clude code。在此情况下,点击 Enter,它将下载一个技能。如果您打开这个文件,您会看到它已经生成了完整的这些内容。好的。完整的技能,它拥有。现在,这里我想强调的问题是什么,先生?我想强调的是,大家,这个技能基本上包含了所有细节,比如我的 pom 会是什么样子,我的 readme 会是什么样子,我的测试文件会是什么样子,重试 XML 文件会是什么样子。所以它只不过是一种创建我们正在使用的恰当结构的方式。有多少人明白了我的意思?假设我现在使用一个恰当的结构,我可以将它发布到 QA 技能,而无需与您共享代码。我不需要共享代码。我只需要共享技能。现在代理基本上通过技能进行通信。现在另一件重要的事情是,您可以通过使用这个来模拟相同的事情。让我,让我告诉您我的意思。好的。您只需下载技能。这是您下载的技能文件。点击保存。点击保存,大家。现在去您的 anti-gravity 或您正在工作的任何地方。好的。您需要做什么?您需要,让我做一件事。让我们创建一个新文件夹。这是一个新文件夹。我们将称之为高级框架。现在,大家,现在让我向您展示高级框架。这是我们创建的基本框架。这是您看到的基本框架。对,我将把它变成旧框架。好的。这是旧的基本旧框架。这是我的旧基本框架。我将要做的是,我将把所有这些文件。这个,这个,这个,这个放到旧的基本框架。好的。让我选择这个。这个我们不感兴趣。所以,我们将只移动这些文件。不要再问我了。移动。好的。这个我们不感兴趣。所以,我们将把所有东西都放在这里。好的。现在,屏幕是否可见,大家?屏幕是否可见,对吗?是还是否?每个人都可以在 YouTube 上看到屏幕吗?每个人,每个人都可以看到。请注意。现在在我们将要做的是,我下载了一个文件。如果您看到这是我下载的文件。我将复制这个文件。我将,我将基本上复制技能文件在这里。大家,我所做的是,我在这里复制了文件。所以我们在这里,这是我们拥有的文件。现在我将要做的是,我将回到这里,大家。我将回到这里。我将只输入我们拥有的文件。好的。所以我将把它拖到这里。好的。拖动基本上意味着我们现在正在处理这个文件。所以现在我将给他一个恰当的提示。提示是基于这个技能,请阅读您现在拥有的 selenium 高级技能。请根据我们现在遵循的,创建一个高级 selenium 框架。对。我只需要告诉您这一点。所以我已经完成了音频到文本,大家。所以音频到文本它会做。它现在将从这个文件中读取并开始创建。大家,现在看看神奇的事情。现在看看神奇的事情。现在您将明白为什么我们使用技能。大家,在我们继续之前,有多少人有任何疑问,为什么它这样做,有什么疑问,先生,为什么我们使用它?因为它是一种赋予您的 AI 代理超能力的方式。任何人都可以分享,例如,我将告诉您一件简单的事情。假设有一个,假设有一个 Anand,他创建了一个 bet selenium 框架,而这是 Amit,他也创建了一个 selenium 框架,大家。现在两者之间有什么区别?在它创建的过程中,大家,任何人都可以告诉我吗?这是 Anand,他在企业应用程序工作,他创建了一个 selenium 框架,而这是 Amit,他创建了一个基本的 selenium 框架。这里有什么区别?他也在使用 GitHub copilot。他也使用 GitHub copilot。那么区别是什么?区别是什么,大家?在聊天中告诉我。区别是什么?告诉我区别。这个 Amit,他使用了基本框架。第一个,告诉我,大家,告诉我,先生,一个是初学者,一个是地球人。好的。一个是初学者,一个是高级的。对。是的。所以在这里您会看到这个使用了技能力量的人。他使用了更好的提示。他使用了更好的东西。是还是否?他更有经验。他正在使用更高级的框架。而这个更基础。但如果这个技能我也给 Amit,那么您将拥有超能力。是还是否?如果这个技能,我们创建的这个技能,如果这个技能,我创建的这个技能,如果我也给 Amit,那么 Amit 也将拥有超能力。是还是否?这正是我们正在做的。每个人都清楚吗?有多少人清楚?让我再次分享屏幕。我的意思是,现在,大家,请集中注意力。所以发生了什么?以前,以前我们没有,我们没有超能力。所以我们得到了一个非常基础的框架。有多少人跟我在一起?请在聊天中输入“是”。先生,我跟您在一起。好的。当,当我们没有技能时。所以这是基础的,我通常称之为基础框架,而不是它创建的高级框架。它基本上是一个基础框架,主要包含 main test 和一些工具,pom.xml 等等。有多少人明白了?请在聊天中输入“是”。但是一旦,一旦您给了他超能力。现在超能力已经给了,大家。现在超能力已经给了。如果您点击接受文件,您会看到现在有一个恰当的东西。大家,有多少人跟我在一起?请在聊天中输入“是”。现在超能力来了。这里您拥有企业级的 selenium 框架,自动为您提供。您明白了吗?我们有 base,我们有 driver,我们有 pages,我们有 util,我们有 listeners,我们有 base,我们有 test,我们有 Excel utils,我们有 resources。有多少人明白了我的意思?现在您将看到恰当的 phase factory 模式,恰当的 page object 模式,恰当的 base 格式,恰当的工具使用,恰当的 page factory page object model,两者。大家,屏幕是否可见?是还是否?我希望屏幕可见。是还是否?恰当的方式。一切都恰当,一切都恰当。现在您将看到企业级的东西正在创建。Driver manager 已正确添加。Base framework 已正确添加。现在您将看到 retry analyzer、retry listener 等等都已添加,对吗?是还是否?现在您也获得了超能力。是还是否?有多少人明白了?在聊天中输入 U。我明白了您的意思。对。所以现在,因为我与您分享了技能,我没有共享我的存储库。我应该与您共享我的存储库吗?不,您不需要存储库,因为 AI 知道如何编码以及一切,但它不知道这里的知识。Dip 说屏幕不可见。我希望屏幕现在可见。屏幕在此处完全可见。顺便说一句,您可以看到构建。构建成功。在此情况下,您将看到高级框架已正确创建。您看到了吗?现在让我告诉您区别是什么。好的。大家,跟我在一起?所以我将把它放到这里。好的。我将把它放到这里。现在点击接受,确保您这样做。好的。然后让我把所有这些文件放到 advance。好的。嗯,替换它。好的。嗯,这是刚刚生成的文件。文件。好的。好的,我们不需要它们。好的,我们不需要它们。对。那么现在呢?顺便说一句,它还在创建还是完成了?我认为它还在创建。让它完成。好的。让它完成,否则它会,先生,我只能看到您,屏幕。我认为屏幕也可见,对吗,大家?是还是否?屏幕可见。我可以看到,我认为是您那里的问题。可见。有多少人明白了?先生,一切正常。很好。我认为让它运行。让它完成。我认为它完成了。不要运行它。我只会说,好的,不要,不要运行,我们不想运行它。好的,不要运行。它正在尝试运行,我们不想运行它。就目前而言,我需要向您解释概念,即我们到底在做什么。好的。现在有多少人明白了,先生,我明白了,您在说什么。有多少人明白了?它,我将停止它。好的。我将停止它,因为它会一直这样做。这是,我将把它移到高级框架。现在您会发现它们之间有区别,大家。现在有多少人能够找到它?请在聊天中输入“是”。所以,我将从中创建一个报告,向您展示我们做得有多好。好的。我将问 AI。我将问 opus。我将问 opus。在这里,您可以使用您想要的任何模型。好的。我将问,有一个框架我们已经添加了,叫做旧的基本框架,还有一个我们已经添加到高级框架。您能告诉我它们到底有什么区别吗?您能给出您的观点,作为质量评分吗?它们到底有什么不同,哪一个对我想达到的企业级水平更好?请确保您将答案以恰当的表格形式给出。您必须扮演一个审阅者的角色,然后检查一下,我们应该使用哪一个,旧的基本框架还是高级文件夹,哪一个。有多少人明白了?请在聊天中输入“是”。所以我给 Gemini 提供了这个指示。Gemini,我给了他这个指示,让他去两个文件夹。去两个文件夹,可视化并检查,有技能和无技能,哪一个更好。哪一个更好?大家,您明白了我的意思吗?有多少人明白了?给我一个“是”。所以我们正在审查有技能和无技能。我们正在审查整个框架。大家,有什么疑问吗?同样的事情可以通过 Visual Studio Code 和 GitHub Copilot 来实现。同样的事情可以通过任何一种 cloud code、C codeex、Amazon Q 来实现,您们使用的任何一种。好的。所以它现在将访问它,它现在将验证。好的。我将向您展示另一个例子,大家。另一个例子。有多少人想看另一个例子?我也会向您展示另一个例子。所以我们有很多技能。好的。它。所以我们有一个排行榜。这里您可以看到我们有 playright,第二个您会看到我们有 YBM。有多少人跟我在一起?请在聊天中给我一个“是”。所以现在我也会给您另一个例子。我还会给您一个例子吗,大家?所以我要打开 Visual Studio Code,大家。我要打开 Visual Studio Code 和 GitHub Copilot。现在让我向您展示一些重要的东西。好的。让我向您展示一些重要的东西。让我们再次打开一个文件夹。好的。让我们去文档。嗯,在文档中,我们将搜索 learn AI,然后让我们创建另一个,叫做 YBM。好的。YBM 演示。大家,跟我在一起?请在聊天中输入“是”。我现在跟您在一起。首先,我正在使用,我正在使用 GitHub copilot。好的。GitHub copilot 我正在使用,大家。好的。跟我在一起,有多少人跟我在一起?请在聊天中输入“是”。所以我要在这里使用 GitHub copilot。好的。这是您看到的 GitHub copilot 窗口,基本上什么都没有。好的。我将创建两个文件夹。第一个是 basic YBM。好的。basic YBM 直接提问。直接提问基本上意味着没有技能。第二个文件夹我将说 advance。好的。嗯,我说 advance 或带技能。好的。有多少人明白了?请在聊天中输入“是”。所以带技能和无技能,我将向您展示演示。好的。现在我要问他。好的。首先我要问他。好的。您能请,好的。所以您能创建一个 YBM 演示吗?好的。去 app.vw.com vwo.com,输入虚拟用户名和密码,然后点击按钮,大家,跟我在一起?请在聊天中输入“是”,基础的,大家。好的。所以我告诉他创建一切,它将搜索。好的。我将帮助您,它将做一些事情。好的。它将做任何它知道的,任何它知道的,它都会做。好的。现在它正在研究,有多少人知道这个研究,大家?它正在研究,研究它。对,它已经研究了。因为它没有太多知识,您认为它有知识,好的知识吗?有多少人认为是的?您认为是的?好的。在这里,在这种情况下,它已经开发了一些东西,让我们看看它开发了什么,大家。如果您在 basic webm direct one 中看到,它创建了一个文件。好的。让我创建一个文件。然后它将运行它,基础的,大家。它创建了一个,您看到了吗,大家?各位,有多少人跟我在一起?请在聊天中输入“是”。现在您知道区别了,因为我们的代理不知道这个。我们的代理现在不知道 YBM。它创建了一些与 play 相关的代码。所以现在您记得,因为它没有技能。例如,先生,这个人学了生物学。他没有计算机科学知识。是还是否?有多少人明白了我的意思?因为代理也很笨。您认为代理在这方面很好吗?如果您这么认为,那么相信我,它们不好。好的。在这里您可以看到,现在它告诉我,好的,您需要运行这个命令。YBM 可以,它基本上给了我 playright,大家?是还是否?是还是否,大家?它以 YBM 的名义给了我 playright 演示。这是 playright 演示。它现在告诉我。让我向您展示技能的力量。有多少人跟我在一起?请在聊天中输入“是”。有多少人跟我在一起?我将要做的是,我将去 YBM。好的。我只会说下载。好的。现在,有两个选项。第一个选项是我可以复制命令。我可以复制命令。去终端。去终端,然后在这里我将运行 YBM 检查,大家。我可以复制命令,大家,然后运行命令。所以这里它问我,好的,您希望我在这里做什么。我说,好的,cloud code。让我们为 cloud code 做。它告诉我,好的,让我下载,然后我在这里下载了文件。您可以打开这个文件。嗯,这是文件,顺便说一句。这是它下载的 puroper 文件夹结构。但这个我们不想要。好的。我将要做的是,而不是这个,让我告诉您我们将要做什么。嗯,这是 anti-gravity,对吗?我们的 VS code 错误在哪里?好的。VS code 错误。对。在这种情况下,我将要做的是,大家。我将,我将点击下载按钮。好的。简单的方法。我将下载它。好的。我将来到这里。我将把它放在这里。我跟您在一起。有多少人跟我在一起?是的,请在聊天中输入“是”。现在我要说的是,现在您有了 IBM 的知识。好的。现在我希望您阅读 W check skill.mmd 文件,并根据技能,现在我希望您基本上创建一个演示,您将使用 YBM,您将导航到 URL app.vlo.com。输入虚拟用户名和密码,然后点击提交按钮。就是这样。大家,跟我在一起?是还是否?是还是否?所以我明确告诉他去这个文件阅读它。现在看看神奇的事情。还有一件事,我认为我们需要,我们需要告诉他,是什么,大家,告诉我,确保您要添加的所有代码和一切,请将其放入 advanced with skill 文件夹。文件夹,我告诉他去那里,并把它们放进一个文件夹,顺便说一句,我正在使用 haiku 4.5,大家,clothed。好的。现在它已经阅读了,大家。有多少人跟我在一起?请在聊天中输入“是”。现在它正在获取知识,获取知识基本上意味着它正在从技能中读取。哦,这些是技能。这就是您所说的。这就是您所说的。好的。所以,它已经阅读了。现在,看看它将要做的一些有趣的事情。大家,您跟我在一起吗?让我们看看。所以它仍然准备了 YBM 演示。好的。Playright。它已经给了。让我检查一下。它告诉我,好的,现在 YB 和一切。让我看看。它是否像,好的,一秒钟。让我检查一下。我认为这里有一些我们做错了。我们提到了 playrate 和一切。不。对。嗯,好的。好的,让我检查一下。好的。我认为提示有问题。好的。提示也有问题。所以模型想要本质上。是的。好的。让我检查一下。嗯,让我创建一个新的 CI 计划。好的。所以它基本上删除了它,大家?是还是否?有多少人跟我在一起?是还是否?它删除了文件。看,它以为是 playright,但之后它自动删除了文件。您看到了吗,大家?是还是否?您看到了吗?自动删除文件。现在它创建了一个恰当的 SSH 文件,带有 YBM。有多少人明白了?给我一个 G,因为它是从 XKL 读取的,我不需要为此使用 playright。我需要使用 YBM。您明白了,大家?现在它将删除文件,也是那个,即 advanced demo。删除。好的。所以它告诉我,好的,现在它没有,它知道 YBM 和一切。我知道了。好的。所以它现在告诉我,好的,完美。现在我将能够阅读文档并能够创建它。这是我想告诉您的区别,大家。我希望您明白了。现在您可以看到表格了。大家,跟我在一起?大家,跟我在一起?是还是否?让我们看看它们之间的区别。好的。所以这是有技能和无技能之间的区别。好的。以前我们使用了基本框架。它是一个单一的传统 pom 对象模式,由原生处理。这是一个硬编码值,单一的配置文件。好的。基本测试用例,手动或不存在节点。NA 在失败时触发,什么都没有。现在在这里您将看到支持基本 pom 对象,改进的 prom 和 page factory,专用的 minute driver,v helpers 也被使用,恰当处理这个 hello 报告和一切都得到支持,重试机制,截图和一切也在此情况下得到支持。好的。现在您将看到旧框架得分为 10 分中的 4 分,而现在有了技能,它变成了 10 分中的 9 分。有多少人明白了?请在聊天中输入“是”,从过去 30 分钟开始,我一直在教您这一点,为什么您需要技能。现在您明白了技能的性质,因为现在每个人都拥有代理的力量,但您的代理是愚蠢的,直到您添加技能。我敢肯定您现在明白了。有多少人明白了?您所有的代理都是愚蠢的,直到您赋予它们技能的超能力。所以现在我们有 9 分,10 分,大家,9 分,10 分,高度可扩展和高级的框架,您可以基本上使用它。所以总的来说,企业级架构,您必须,必须立即采用这个高级框架,并抛弃这个,但 Amit 非常固执,他对技能没有概念,那么他将使用旧的,是还是否?请在聊天中输入是或否,是或否。Amit 对 QA 技能没有概念。根本没有概念。他将使用基本框架。是还是否?因为现在问题在于您知道多少。要么您借用知识,要么您从别人那里借用技能,要么您自己创建。但生命太短暂,无法从自己的错误中学习。是还是否,大家?是还是否?生命太短暂,无法从自己的错误中学习。这就是为什么我们需要技能。先生,如何根据我现有的框架创建我自己的技能?非常好的问题 Vigneshwam。好的,非常好的框架,但非常好的问题。那么现在有多少人明白了,这就是为什么我们有技能。我们有很多技能,您会发现排行榜,我们有 playright vibm 很多。即使您想创建一个 cyberus 技能,它也是一个恰当的技能,我们已经添加了。我添加了大约 100 个技能,我认为现在人们正在添加。有很多人,大约有四五个人与我一起工作,他们添加了很多有趣的东西。所以如果您登录,大家,您可以使用您的 GitHub 账户或 g 或您的 Google 账户,只需创建一个免费注册。现在是免费注册。如果您想创建自己的技能,您只需要,嗯,通过 Google 登录注册。我认为这是最简单的方法。好的。然后您需要做什么?很简单。让我登录。这需要一点时间。好的。现在已登录。转到仪表板。您也可以创建自己的技能。大家,我想创建我自己的技能。所以这是我们通常用于技能创建的模板。大家,跟我在一起?您也可以创建自己的技能。先生,我想创建一个技能,我将使用它。好的。您也可以使用技能。先生,我想使用一个特定的技能,然后当您完成时,先生,这个技能也将对其他人有帮助。技能可以是任何东西。您自己的自动化框架,您想共享。您创建测试计划的方式也可以共享。测试用例创建也可以完成。对。技能可以有多种创建方式。完成之后,您只需点击发布,技能就会自动发布。或者您也可以,还有一件事,您可以创建一个发布技能。您可以输入一个 GitHub 存储库。好的。测试策略也可以看到。例如,我不知道测试策略是否在 AK 中。您可以做什么?您可以去您的 GitHub 个人资料。您只需要创建,大家,创建一个新的存储库。创建一个新的存储库。对。例如,假设我们正在创建一个测试策略。大家,好的?有人说这是一个测试策略技能,假设我们想做。所以假设我们正在创建一个测试策略技能,这是我们根据我的学习创建的。大家,跟我在一起?根据我的学习,我将创建这个。好的。所以我要做的是,我将,让我创建一个,嗯,admin 文件,也创建一个存储库。好的。现在我将在这里创建一个文件,一个新的文件。这里我将输入这是我的测试策略。好的。测试策略,我们有 skill.md 文件。现在我将在这里提到应该有什么。现在我给了您模板。如果您还记得,我们有一个模板。您只需要填写这个模板,仅此而已。模板基本上意味着,先生,我的模板是如何创建一个最佳测试策略。最佳策略。这是 QA 的测试策略。好的。现在可以添加描述。可以添加其他内容。它的核心原则是什么?何时使用?示例是什么?如果您也有示例,您也可以添加。现在考虑这种情况,假设这个已经完成了,顺便说一句,现在我们将稍后完成。在这种情况下,我们可以基本上添加它,您只需完成,对。例如,假设这是我们添加的测试策略。好的。这是我们现在完成的测试策略。现在您可以做什么?您可以,无论您拥有的文件,这个文件。好的。您只需填写此信息。嗯,回到技能。好的。回到技能这里。嗯,点击,点击发布新技能。输入您的存储库。确保存储库包含 skill.md 文件。所以这是我们拥有的 skill.md 文件。好的。嗯,点击下一步,然后添加您拥有的任何信息,然后点击提交。就是这样。就是这样,大家。然后它也会在这里提供。有意义吗?有意义吗?是还是否?所以您也可以提交您自己的版本,例如,运行您的 selenium grid 并行运行,您也可以做到。所以如何运行并行,恰当的,这些是您可以做到的方式。现在您也可以使用您自己的版本,例如,您可以看到 YBM,现在我们有 YBM,您可以添加的所有信息。好的。先生,对于图表等,您可以添加。有 100 种方法可以添加。对。有多少人明白了?请在聊天中输入 G。先生,我明白了,您在说什么。简单,完全开源。它只是。
一种方式,这样你也可以做出贡献,各位,我告诉你们,有些人已经为可访问性测试做出了贡献,因为我对可访问性测试非常陌生。在这种情况下,有些人为 QA 做出了贡献。如果你看到有些人为 Vega V Wag 可访问性测试做出了贡献,因为我对它知之甚少。如果你对此一无所知,你可以看到这是人们创建的整体技能,这将对我们有帮助。好的。现在,这就是我想向你们展示的。现在你有两个选择。你可以下载它们,或者你可以使用它们。这只是一种互相分享的方式。有多少人明白了?这只是一种互相分享的方式。在这种情况下,没有别的了。各位,这有意义吗?是或否?这有意义吗?现在有意义了。是或否?简单的方式。简单的方式。你也可以进行搜索,对吧?你也可以搜索相关的,例如,我告诉你一些事情。你可以在线,呃,你也可以进行搜索。例如,这里,呃,如果你有你的控制台,你也可以搜索。好的。任何与 API 测试命令行相关的内容,如果你想搜索,先生,我想搜索任何与 API 测试相关的内容。所以它会告诉你 API 测试,我们有多少人,各位,有超过 14 项与 API 测试相关的技能。所以你会发现 Playwright API 测试,SuperTest API 测试,GraphQL 测试,Postman API 测试,Rest Assured 高级 Playwright,对吧,Express 测试,对吧,你想要的任何一个,你可以使用它。所以有人说,先生,我必须搜索可访问性,可访问性,你也可以在这里搜索,好的,现在有人说,先生,我有一个光标,我该如何使用它,各位,非常简单,如果你有一个光标,各位,告诉我,我们在聊天中如何使用它,这是我们拥有的光标,各位,这是我们拥有的光标,我们将在这里复制文件,各位,我们将点击右键,右键,右键,点击新建文件夹。在光标中,我们有一个名为光标的文件夹。是或否?在光标中,我们有一个名为光标的文件夹。是或否,各位?是或否?这就是我们将要复制文件的地方。所以,无论我们有什么文件,各位,无论我们有什么文件。这是我们下载的文件。我们下载了这份文件。我们下载了这份文件。复制这份文件。回到你的光标。各位,回到你的光标。好的,回到你的光标。把这份文件放到你的光标文件夹里。各位,跟我来吗?在聊天中输入是。是,我跟你来。回到你的文件夹,然后输入光标。如果你正在使用 Clude,那么 Clude 制作了所有各位。然后你可以把它放到 Clude 里。如果你正在使用 GitHub Copilot,那么 GitHub 文件夹,各位,如果你正在使用 GitHub Copilot,那么 GitHub 文件夹。如果你正在使用,呃,任何使用 Amazon Q 的人,那么我认为有一个名为 Amazon 的文件夹。你可以在这里放。如果你正在使用 Ko Kira,我不确定文件夹名称是什么。呃,如果你正在使用 Anti-gravity,那么有一个叫做 Agent 的东西。Agent 是用于 Anti-gravity 的。你可以在这里放,尽管我认为 Winds 有一个名为 WindSurf 的文件夹。我非常确定。是的。Windsor 文件夹,我认为 Winds 你知道,我们知道。是或否?所以你只需要把它放到 WindSurf 里。好的。你的技能文件,你可以把它放到你各自的 dot 文件夹里。好的。各自的 dot 文件夹。你们必须放进去,这样你们的 Agent 才能知道这些事情。各位,跟我来吗?是或否?简单。你只需要把它们放到你各自的 dot 文件夹里。好的。我认为 WindSurf 只有一个 dot 文件夹。我检查一下。好的。dot Google WindSurf dot uh 文件夹 Winds,我认为 dot built WindSurf,是的,我非常确定 dot window 文件夹,我认为是,是的,是的,你说得对,WindSurf dot winery,我认为是,好的,先生,我对自动化是新手,不简单,在这种情况下没什么不同,我认为现在你们明白了我的意思,这是一个非常简单的概念,只是知识共享,没有别的了,好的,在我们讨论之前,各位有什么问题吗?好的,让我做一件事,让我问几个问题来理解,各位,如果你想问,请举手,让我们以一种非常简单的方式提问,先生,到底发生了什么,你想问什么都可以,是的,先生,Prem,请说。是的。让我们问一个问题。Pra,你能听到。我希望如此。>> 是的。>> 是的。告诉我。>> 晚上好。>> 你明白我们在做什么吗?不。是的。>> 是的。是的。这次会议很棒。>> 告诉我。是的。好的。你叫什么?>> 呃?>> 继续提问。好的。告诉我。>> 是的。是的。呃,我到现在为止理解的是,我们可以直接下载我们需要的技能,比如自动化 Playwright 等等,比如 API 测试,无论我们想要什么技能。>> 对。>> 然后我们可以直接为新的项目实施,这没问题,但我们如何为现有的项目或>> 已经存在的项目做呢?>> 对,很好的问题。在这种情况下,你只能使用相同的方法,只需要改变提示,没有别的了,好的。>> 呃,你能举个例子或者什么吗?>> 所以我将展示的是,他们现在去,呃,这是我们创建的框架,旧的和之前的,对吧,所以假设你有一个像这样的基本框架,你会怎么做?你会告诉他,你会告诉他我教你关于一项技能,顺便说一句,在 VS Code 中你也可以推送这个文件,或者不是文件,这个技能文件,技能文件,基本上在 VS Code 中你也可以放进去,所以他也会理解,现在你可以告诉他,这是我创建的技能文件。这是我们拥有的一个高级框架。好的,框架,跟我来。好的,这就是我要做的。让我向你展示我的意思。现在,让我创建一个副本。好的。呃,这是副本。>> 是的。>> 呃,现在我们要修复它。好的。我们要,我只是,让我把它修复好。好的。现在我要问他,有一个名为 Selenium Skill 的文件。这是我们拥有的文件,对吧?我要告诉他,有一个名为 Old Basic Framework_Fix_It 的文件夹,我有一个 Selenium Advanced POM Skill,它也被添加了,它是一个企业级框架,我们拥有它,对吧?我想让你阅读 Old Basic Framework_Fix_It 文件夹中的文件,在这个文件夹中,我们将迁移或升级我们的框架工作,基于这些技能。你需要一步一步来。首先,你需要教我你要做哪些改变,然后我们将一步一步地进行说明,这样我们现有的框架就不会中断。这有意义吗,PR?现在音频转文本,顺便说一句,我使用了,好的,所以我给了它一个正确的结构。这是音频转文本,顺便说一句,我正在使用。好的。所以现在它会一步一步地告诉我该怎么做。Prem,你明白了?你明白了?所以我在告诉他,通过参考,你需要参考 Selenium 的那个,我们将根据它来修复我们的框架。我们将添加那些能让他从 10 分得到 9 分而不是 4 分的东西。公平。>> 是的。很棒。>> 是的。是的。>> 好的。所以一个接一个,请记住,这是我给的最重要的事情。不要让他一次性完成,因为那样你就无法理解他在做什么。所以他会一个一个地告诉你,让我们添加一个重试监听器,让我们用更优化的方式创建页面工厂,让我们也创建一个截图监听器,让我们创建一个 XYZ 之类的东西,明白了,好的,一个接一个,首先它已经读过了。现在它将从技能文件中读取并开始一个一个地执行。它也会问你,我应该这样做吗,是或否,我应该改进它吗,是或否,你也可以告诉他确保向后兼容性无关紧要。所以他说,好的,让我迁移,这是我们的计划,第一步是升级依赖框架,清楚,是或否,所以我们需要,他说,我们将添加两个模块,第二步,我将添加一个重试监听器,我告诉过你了,他会添加的,对吧,公平,然后全局权重策略,升级我们的基础页面驱动管理器,它将添加测试数据隔离,它也将添加最终化,然后它会说,好的,如果你准备好了,让我开始吧,汉娜,你明白了?>> 是的,女士。太棒了。是的。>> 所以我们可以用这个来,呃,比如,呃,现有的,我们可以把现有的 Selenium 项目转换成 Play 项目。>> 你可以看到,它非常相似,有人创建了好的东西。你只是在利用那些部分。明白了?>> 是的。>> 就像借用别人的知识一样。是或否?是或否?它是社区驱动的,因为很多人使用过它。所以它才排在前面。人们正在使用它。下载量越多,意味着人们实际上正在使用它。是或否?>> 是的。>> 明白了。>> 明白了。>> 是的。非常感谢。>> 没关系。是的。Vignesh,你想问吗?>> 呃,是的,Promote。呃,首先,我想感谢你提供了一个很棒的知识分享会。好的。>> 呃,所以我的场景是,呃,Promote,在我们的组织里,我们有一个 Playwright 框架。好的。H>> 现在,我正在考虑让我们的手动测试人员在 Codegen 中记录脚本。>> 然后当我尝试,我正在使用 GitHub Copilot,我正在尝试修改记录的脚本,基于我们的框架,但它没有正确地发生,所以使用这个地方的技能。>> 我能做到吗?我告诉你,迁移甚至代码生成以及他们正在做的所有事情,他们遵循某些称为规则的东西。好的。>> 你需要做的是,如果你正在使用 GitHub Copilot,你有一个 GitHub,对吧?GitHub,对吧?>> 是的。>> 你首先创建一些称为规则的空文件。好的。然后你将创建一个名为 skills.md 的文件,我将给你。好的。高级框架。现在,在规则框架中,你将按照结构来,我的意思是你可以使用 Agent Skills。所以我们有 Agent Skills.io。这是一个,这是一个结构,你的技能文件应该是什么样的。好的。这只是一种规范。所以你可以复制它,就像它在那里一样。呃,我告诉你最简单的方法是再次去 QA Skills。我已经复制好了。好的。所以如果你去仪表板,如果你登录,如果你去创建编辑器文件,好的,复制。好的。或者我建议你,如果你在想,先生,我想要 Playwright,我自动添加了一个我的高级框架,我的也是高级框架,好的,你可以从这里获得帮助,这个是高级框架,八层架构,你如何使用它,对吧?现在你要做的是,你将添加一些 do 和 don'ts。好的。do don'ts 有意义,对吧?>> do 和 don'ts 首先,是什么,告诉我,我们可以有什么 do?do 非常简单,好的,始终使用最新版本,顺便说一句,它建议所有这些,这个我们不想要,我告诉你 do 是什么,don't 是什么?首先,don't,我告诉你它是什么,确保当你运行代码生成或 Playwright MCP 或 Playwright CLA 时,生成的代码遵循我们遵循的正确页面对象模型,你的测试应该转到测试或 spec 应该转到 spec 文件夹,页面对象应该只转到页面对象文件夹,是或否?这是第一条规则,是或否?是的,确实如此。我不能分享我的,但它将成为版权侵权,因为现在你明白了,好的,不要在 page of creat blah blah blah 中创建新文件夹,我认为现在你知道了,你很聪明。>> 所以不要在其中一个中创建新文件,我告诉你,没关系,确保你创建的页面对象文件不包含 100 多个页面对象,因为这也是一条规则,因为如果你在一个文件中包含数百个页面对象,那绝对是垃圾,明白了,你之后再划分你的页面对象。所以这些就是你在我的高级框架中也会找到的规则,这里我们写了一些东西,你可以从中获得帮助,好的,有意义吗?>> 好的,好的,是的。>> 好的,再次告诉你一个简单的方法,就是下载,只是下载,这是我给你的一个简单的方法,回到你的 GitHub,Mac 在这方面很慢,好的,它在哪里复制的。好的,我在哪里做的?等等。嗯?就在这里,我们现在在做。好的,让我把它复制到你的 GitHub。现在,明白了。是的。>> 现在我也会在这里告诉你一些事情。你也可以这样获得帮助。好的,确保你拖动它。我喜欢这样,然后做一个事情,在 rules.md 文件中,请确保你阅读 playright-advance e2 skills.md。弄清楚有什么 do 和 don'ts。好的。然后请将它们添加到 rules.md 文件中。顺便说一句,它已经在 playright.vanc 中了,但如果有人不遵守这条规则。现在 GitHub 规则文件也可以创建。我将向你展示那个文件的名称。好的,我认为有一个文件名。我不确定文件名是什么。让我搜索一下。它的名字是什么?你知道,呃,GitHub Copilot 中的规则文件名是什么?有人知道吗?有一个规则文件名。你可以,顺便说一句,argument has argument rules。Amazon 有 Amazon rules。C-ilot insection madness。这个存在。Instruction be,我认为是。稍等。有一个 Instruction 文件夹。哪个?有人能确认吗?我认为 go-instruction made 也可以。我认为这个有意义。嗯?公平。>> 好的。>> 所以,而不是 rules,你只是把它重命名为 GitHub Copilot Instructions。公平。>> 好的。>> 有意义吗?>> 所以 Agent 因终止而终止,为什么终止,请继续。好的。它基本上会将这个技能改为 co-pilot inception。没有别的了。好的。>> 好的。好的。Nish。是的。Narish。请说。>> Hi Primote。>> 是的。>> 你听到我了吗?>> 是的。是的。是的。请继续。>> 是的。呃,我只是想问你,我们是否有能力添加我们自己的技能。>> 呃,对,然后如果我们公开它,我们可能会添加很多重复的技能。>> 我告诉你,重复的技能可能存在,但有一个称为评分系统或下载次数的东西。对。如果人们不下载我们的技能,它会自动降低。对。对。例如,可能有数百个 GitHub 存储库。对。对。Nish。>> 是的。是的。>> 包含 Selenium Page Object Model。但每个人都有他们的百分比以及下载次数。现在这是实时的。这是一个我们拥有的完整数据库。好的。>> 是的。只是想说,如果我们有任何机制来>> 评分机制,我认为一切都在那里。现在你基本上可以进来并给出评分。我真的很喜欢它,或者不喜欢它。是的。>> 是的。>> 如果你给差评,它会自动不会出现在搜索中。是的。>> 确定。明白了。谢谢。>> 没关系。是的。谁想问?任何人想问,各位,这只是一个知识分享会。有多少人喜欢这次会议?在聊天中给我点赞。各位,是或否。这是一个知识分享会,我只是告诉你,这些是现在存在的东西,你也应该开始使用它,对吧?因为很多人告诉我问题,先生,我的框架非常基础,我无法给出正确的提示,我无法看到结果,对吧?我认为它没有给我更好的结果,等等,这就是它基本上给你带来更好结果的方式,明白了,有意义吗,是或否?所以如果你搜索高质量,你已经看到了。好的。Sherik Gant 说,先生,我举了一个手,哪个 Agent 更好,更好?我的意思是,没有选择,但 Opus 是目前最好的。先生,MD 文件中的许可证是什么?MIT,MIT。一切都是开源的,各位。一切都是开源的,免费的。你们都可以使用它。好的。顺便说一句,我们也有暗模式和亮模式,只是给你另一个有趣的事情,我告诉你的是 Packs。好的。现在这是有趣的事情。Pack 基本上意味着,假设你开始一个使用 API 测试工具包的新项目。现在你需要所有这些东西,所有这些技能。是或否,各位?是或否,各位?你开始学习 API 测试和所有这些。所以如果你愿意,你也可以一次下载 20 个技能。完整的 Playwright 脚本。K 先生,我想用完整的 Playwright 来做。给我点赞,如果你认为可以,是或否。完整的 Playwright。它包含了视觉回归,所有东西,W 检查和所有东西,第一次用户测试和所有东西。Sub,这是我测试过的东西,它效果很好,如果你是刚开始的人,好的,先生,我想创建一个生产 Azure 管道,但技能有 Jenkins,如何使用 QA 技能有 Jenkins?Jenkins 有 Jenkins?Azure 管道,Azure 管道,我不认为它有,我认为有人,你,你阅读,你编辑了 Pankage,你将是第一个编辑你的学习的人。我们有技能来创建手动测试用例,基于验收和所有这些吗?我们知道你可以创建它。手动,我认为我们没有手动测试,但我认为你们应该创建它。各位,手动,我们可以创建它。基础的都有,我们正在创建它。我还在工作,和我一起工作的人超过了,我认为 12 多个,15 个人比我多,我们基本上正在努力添加更多。好的。我们正在维护它,这是运行成本,但我们正在尝试。好的。先生,我能把一种框架转换成 Playwright 吗?比如我有一个 Selenite 框架。我能把它转换成高级框架吗?你可以,你可以做到。你也可以做到。好的。这样做没有问题。呃,Shi,你想问吗?是的,请说,Shi。顺便说一句,各位,明天我们有一堂关于 Playwright 自动化框架的课。我希望每个人都知道,对吧?所以我们,在这种情况下,如果有人对学习测试框架感兴趣,我认为我们的批次,你们可以去,自我推广。如果有人想加入,各位,请确保你加入。这是链接。我认为明天我们也会很早开始。好的。在 YouTube 上,如果有人感兴趣,让我和你分享。是的,你可以去,与此同时,Shi,请说。>> 是的。是的。目前在我的应用程序中,我们有一个基本框架。>> 它是用于 API BDD 和 Cucumber,抱歉,Rest。>> 所以在那里,我认为我们观察到他们没有适当的处理。>> 所以我们可以用这个来转换吗?>> 我认为 Cucumber,我不认为我们有,我检查一下。我们有吗?>> 所以我认为我们有,好的,项目结构,项目,好的项目文件,数据表,do 和 do on 步骤定义,hooks 和所有这些。>> 是的,告诉我,告诉我。>> 所以,但是,但是我们的要求是,我们跟踪的数据在一个特定的数据库表中,而不是在 Excel 表格中。>> 像这样。所以,但是可以用这个做到吗?>> 好的,那对你来说太定制了。不,那可能对其他人来说不通用,对吧?Sydney。>> 是的。>> 那么在这种情况下,它不应该是一个技能。它应该只是说明。好的。>> 好的。>> 那么在这种情况下,我们应该要求给出一些说明。>> 呃,嗯。那么在这种情况下,你应该创建你自己的内部技能。好的,就这样。>> 好的。是的。Sonia。>> 是的。告诉我。>> 还有一件事。>> 是的。目前在我的项目中,我们有一个 API 和另一个 GUI 框架。GUI 框架目前他们维护两个旧框架,比如他们定制了,使用。>> 如果你想,你可以迁移。>> 我们可以迁移到,对吧?>> 你可以,你可以下载,下载,创建类似的文件夹结构,就像我现在在你面前做的那样,对吧?>> 是的。所以要>> 绝对正确。我认为如果你看到,谁在那里,对吧?Vigneshwh,有人问 Prem,看,do 和 don'ts 它已经创建了。好的。现在你可以看到 do 和 don'ts 它已经创建了。所以你们可以进一步定制。这些是你的说明。>> 好的。对于同样的数据,>> 对于同样的数据,我们必须只从数据库访问。>> 你可以,我的意思是,看,你只需要添加 do 和 don'ts 和规则,就是这样。规则,任何其他东西。>> 所以你可以在这里添加一个。>> 好的。>> 父父级,比如要遵循的规则。好的。所以他会自动阅读,然后他会遵循。好的。要遵循的规则,你可以添加。好的。明白了。>> 好的。好的。是的。>> 是的。Sonia,你想问吗?>> 是的。是的。Sonia。是的。Mona,告诉我。顺便说一句,各位,一切都是开源的。我认为你会找到存储库。有人想看存储库吗?是或否?所以各位,这是存储库,如果你有兴趣。你可以给它一个星。我知道这是一个,你也可以给它一个星,如果你正在工作。我的意思是,这是一件好事,它会是正确的。如果你认为这是一个好项目,我们应该继续。好的。所以这是包含所有信息的完整存储库,它是如何存在的。好的。顺便说一句,你也可以在这里找到 C Skills。好的。在这里你可以找到所有技能。是的,它包含一切,几乎有 200 多个技能,我只添加精选的。我添加我认为应该存在的最好的。是或否,各位?我个人认为有几个,我的意思是,有很多技能我想和你们所有人分享。我只添加那些非常好的。好的。所以你的 AI 测试课程,生成式 AI 课程将包含它。是的。是的。是的。是的。生成式 AI 已经存在。所以你将找到 AI 测试课程,我们明天开始,各位,生成式 AI 基础知识已经涵盖,提示工程也已涵盖,测试工具也已涵盖,设计 NA10 Langchain Langflow AI Agents MCP Servers Rack Based Applications 高级 Selenium 和 LLM 评估,如何测试聊天机器人以及更多 AI 相关内容,使用 DPL True Lens 和 Promptu 以及 Open AL,我们也已经涵盖了,我们将涵盖。你将找到更多细节。如果你想看细节,去存储库。你可以找到我们做了多少项目。各位,我只是想和你分享一下,我们到现在为止做了多少项目。几乎有 10 多个项目。好的。几乎是上一批,我们做了几乎 10 多个项目,包括本地 LLM 和所有这些。好的。而且我认为我们还构建了大量的基于 Rack 的应用程序和所有这些。我可以给你看,我可以给你看,有数百个,一对,我认为,让我给你看,如果我想,好的,比如基于 Rack 的应用程序,这是我们实现的一个 Rack,我们将要实现。它是一个 Rack,测试用例生成器,使用你的 Jira ID,使用你的 PDF,以及你公司的 PDF 和所有这些,以及你的 Jira ID,公司 PDF 以及你之前的 SQS,对吧?这里有高级的东西。好的。所以如果你计划,我认为我们明天早上开始,各位,再次,这只是一个快速公告,如果有人想加入。好的。关于它。>> 有什么问题吗?YouTube 上的任何人?任何人?有什么问题吗?Nathan,是的。任何人?>> 好的。这次会议怎么样,各位?今天学到了新东西吗?>> Hi Promote。>> 是的。请说。抱歉。>> 是的。好的。>> 是的。请说。>> 我实际上无法提问,我错过了会议。所以,就像,实际上我在电话里,或者,就像>> 没关系,录音,我会分享给你。好的。你可以看。>> 是的。好的。请分享给我,然后,我也有一些问题。所以你能分享一下 GitHub 存储库的链接吗?>> 嗯?我会分享的。>> 好的。好的。>> 好的。>> 谢谢。>> GitHub 存储库,我也在 YouTube 上分享。先生,我们可以将 Playwright 与 OpenAI 集成吗?你可以,你可以集成 Shini。那不难。不难。我认为是。好的。>> Shini,我和你在一起,对吧?Shini,我和你在一起,对吧?好的。>> 你可以把它用于多用途。我的意思是,假设我告诉你,比如,如果你去 Selenia,是的,这里你可以看到我为 AI 驱动的测试自动化框架添加了本地 LLM 支持,用于故障分析。这个基本上使用 Selenium 和,是的,我的意思是用于故障分析,好的,没有数据离开公司,因为我们为此使用本地数据。>> 这些是你都可以创建的东西。这就像一个项目,你可以同时进行。>> 用于故障分析。好的。看看这个 Repo。去 aat selenium rate。同样的主题也可以用 Play 项目实现。Pavitra 正在问,先生,一个好问题。Pavitra,我检查一下。她说,先生,我们有一个需求,根据错误报告生成 Excel 文件,其中应包含错误数量和解决方案,通过连接数据库。在这种情况下,搜索,在这种情况下,是否有任何免费工具可以为此生成 Agent?>> 非常好,Pavitra。我刚才向你展示了,它的名字是什么?Langflow 可以做到,顺便说一句。好的。所以 Langflow 可以做到。如果你想看,好的,Langflow 可以做到。它也可以写文件,各位。好的。Langflow 可以做到。它可以读取你的错误分析和所有这些,然后做同样的事情。好的。有一个方法可以做到,就是使用 Langflow。Langflow 是 100% 开源的。100% 开源。你可以使用云 API 以及 Gro 以及本地 LLM。而且,如果你愿意,它也可以创建 Excel 文件。Pavitra 可以做到。你能分享一下这个存储库链接吗?我会分享给你。好的。先生,你会分享 weekday AI 批次吗?>> AI 批次主要是周六、周日。Pentohi,我们通常没有。主要是周六、周日。好的,公平。各位,我们涵盖了非常高级的东西。相信我,在这种情况下,我们正在深入研究。上次我们涵盖了 Rack。你将看到一些关于 Rack 的视频。检索,各位。我们已经涵盖并创建了自己的 Rack 版本。好的。所以你也会看到它。这是我们看到的一个非常高级的东西。再试一次,你的选择,你的规则。QA Skills,各位。书签。我认为这对你会有帮助,即使在 YouTube 上。让我和你分享。好的。如果你想为 QA Skills 做贡献,请告诉我。联系我。如果你可能,请发布你的技能。我会尽我所能帮助你。好的。P enough,你可以登录,创建一个免费账户,去仪表板。好的。是的。是的。Rajat,我们明天开始。是的。是的。是的。你现在还没有访问权限。你会收到一封电子邮件。好的。Sh。好的。Ch 各位,享受。我明天见。我只是想和你分享一下。有人想加入。好的。这是链接,也在 YouTube 链接上。好的。我希望你已经学会了。现在我们将看到更多会议。好的。即将举行的会议。周日我也计划做一些会议。有多少人想要?所以周日,我计划。好的。我们将有一些额外的会议。周日或周一也可能有一些额外的会议。好的。我们计划为 Langflow 做。关于 Crow.ai Agents 创建的几节课,使用 Python。我也在计划高级的东西。好的。高级的东西。将有一个非常高级的基于 Rack 的管道。所以如果你有兴趣,我认为 AI Tester Blast 2x 正在开始。请确保你也加入。好的。我们有很多有趣的东西要做。我们开发了本地测试用例生成器,垃圾邮件生成器,Selenium 到 Blade 生成器,Bug Reporter,高级的东西,以及即将推出的 LLM 测试框架,我们将创建。我们将创建很多技能,顺便说一句,以及基于 Rack 的应用程序 MCPs,我们也将在生成。我将向你展示,以及我们自己的 Agent,我们可以部署到生产环境。所以生产就绪的 Agent,使用 Langflow,Langchain 和 Nan,我们将涵盖。好的。Crew.ai 我也在涵盖。所以 Crew.ai 是生产就绪的,人们正在使用它,我们也在 Techon 中使用它,我们将涵盖所有这些。好的。>> Ankit,做一件事,如果有人想谈论明天。>> 课程和所有这些,我将给你我的一个链接,各位。好的。所以各位,Puja,非常有趣,嗯?经验,Puja。好的。开发了很多东西。好的。没有别的了。享受。再见。先生,如果一个手动测试人员想学习所有测试,我们是否需要自动化?不。>> LA,你也可以学习 AI。好的。自动化加上 AI,你都需要学习。这都是关于 AI 部分。好的。Agent 创建,MCPs,Rack,Nitan,Langflow,Langchain,LLM 测试评估可以单独学习。除了学习自动化,Selenium 和 Playwright,无论如何你都需要学习来跳过。你不能。好的。公平的叙述,各位。再见。