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

广州服务好的网站推广工具seo工具在线访问

广州服务好的网站推广工具,seo工具在线访问,2345网址大全浏览器主页,做购物网站那个好一、思路整理 与AI如何对话? 清晰描述任务目标 明确告诉 AI 代码要完成的任务。例如,可以这样开头:"我需要一个 Selenium 脚本,用来测试 32 个不同 URL 页面上的搜索框功能。当鼠标移入搜索按钮时,需要验证是否…

一、思路整理

AI如何对话?

  1. 清晰描述任务目标

明确告诉 AI 代码要完成的任务。例如,可以这样开头:"我需要一个 Selenium 脚本,用来测试 32 个不同 URL 页面上的搜索框功能。当鼠标移入搜索按钮时,需要验证是否悬浮展示‘AI搜索’文案。"

  1. 描述使用的语言和工具

描述正在使用的工具和框架,如 Python、Selenium,

比如:"请用 Python 和 Selenium 编写代码,驱动ChromeDriver的路径为'C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe'

  1. 拆解功能步骤要求 将需要实现的功能分段描述:

      (1)需要加载多个 URL 页面,

      (2)模拟鼠标悬停操作,移动到指定按钮上,该搜索按钮在部分URL中元素相同,部分URL中元素又不相同。

      (3)验证悬浮文案是否正确显示。

  1. 上述AI生成的代码若运行报错或者失败怎么办?

如果 AI 给出的初版代码不完全符合需求,例如存在运行失败,运行bug等,那么可以继续提问。比如:"上述生成的代码运行报错,错误码XXXX(本地报错的内容)"

二、实战演练

  1. AI选择

首选必应:https://copilot.microsoft.com/chats/r4kGNaJSfnYUuTu8AMS7a,它是微软的一款实时搜索类型的AI程序,时效性,准确性高,关于使用方法可以参考之前写过的方法教程:微软bing-GPT使用方法_必应gpt-CSDN博客

  1. 实战需求

  1. web自动化需求

需求:检查在【收藏下载】页面-我的下载处是否可以直接下载成功
  1. AI对话整理

需求:我需要一个 Selenium 脚本,来检查在【收藏下载】页面-我的下载处是否可以直接下载成功

1:打开【收藏下载】页面前提要登录,登录已经有现成脚本,可以直接使用,程序如下(此处省略登录脚本描述)

2:【收藏下载】页面URL是https://www.test.com/(这是假的地址),上述登录成功后需要打开该URL

3:鼠标移入第一个模型的封面处,模型元素如下

//*[contains(@class, 'components-collectHome-AllCaseContent-HomeAllCntNewCard-index__imgDiv__')]

4:点击封面处出现的下载按钮,下载按钮元素如下

//*[contains(@class, 'components-collectHome-AllCaseContent-HomeAllCntNewCard-index__downLoadIcon_')]

5:若下载成功,会有【下载成功】元素出现,元素如下,若没有下载成功,则该条测试用例失败

//*[contains(@class, 'ant-message-custom-content ant-message-success')]

请根据上述需求以及详细过程描述,使用python+selenium生成一个自动化测试程序

  1. 实际AI生成结果
(1)AI输出程序结果
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import time
from selenium.webdriver.chrome.service import Serviceclass DownloadTest(unittest.TestCase):def setUp(self) -> None:service = Service('C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe')self.driver = webdriver.Chrome(service=service)self.driver.maximize_window()self.time = timedef tearDown(self) -> None:self.time.sleep(2)self.driver.quit()def test_download(self):# 1. 登录页面self.driver.get('https://www.test.com/')self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""})self.time.sleep(2)self.driver.refresh()# 执行登录self.driver.find_element(By.ID, 'loginsucces').click()self.time.sleep(1)self.driver.find_element(By.XPATH, "//div[@class='ant-modal-content']//div[2]//div[1]//span[1]").click()self.time.sleep(1)self.driver.find_element(By.XPATH, "/html[1]/body[1]/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]").click()self.time.sleep(1)self.driver.find_element(By.XPATH, "//input[@placeholder='请输入手机号']").send_keys('19580887901')self.driver.find_element(By.XPATH, "//input[@placeholder='请输入密码']").send_keys('123456')self.time.sleep(1)self.driver.find_element(By.XPATH, '/html[1]/body[1]/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/div[1]/div[3]').click()self.time.sleep(2)self.driver.find_element(By.ID, 'rectBottom').click()self.time.sleep(4)# 2. 打开【收藏下载】页面self.driver.get('https://www.test.com/')self.time.sleep(2)# 3. 鼠标移入第一个模型的封面处first_model_cover = self.driver.find_element(By.XPATH, "//*[contains(@class, 'components-collectHome-AllCaseContent-HomeAllCntNewCard-index__imgDiv__')]")ActionChains(self.driver).move_to_element(first_model_cover).perform()self.time.sleep(2)# 4. 点击下载按钮download_button = self.driver.find_element(By.XPATH, "//*[contains(@class, 'components-collectHome-AllCaseContent-HomeAllCntNewCard-index__downLoadIcon_')]")download_button.click()self.time.sleep(3)# 5. 验证下载成功try:success_message = self.driver.find_element(By.XPATH, "//*[contains(@class, 'ant-message-custom-content ant-message-success')]")self.assertTrue(success_message.is_displayed(), "下载成功!")except Exception as e:self.fail(f"测试失败,未能下载成功: {str(e)}")if __name__ == '__main__':unittest.main()
(2)本地运行结果

运行成功,功能正确

假设上述脚本报错怎么办?

此处我们来将代码修改成一个错误的地方运行,将下载按钮元素填写错误,运行后报错,我们将报错信息发送给AI,然后根据报错解释进行修改相关地方即可(一般这种元素未加载成功的原因要么是元素错误,要么就是层级关系导致)

  1. 接口自动化需求

需求:检查【我的收藏列表接口】返回值是否正确
  1. AI对话整理

需求:检查【我的收藏列表接口】返回值是否正确

1:接口URL:https://ug.baidu.com/mcp/pc/pcsearch

2:接口请求方式:POST

3:接口需要传参,传参格式为json,传参明细如下

{"invoke_info":{"pos_1":[{}],"pos_2":[{}],"pos_3":[{}]}}

4:调取该接口需要登录状态,所以需要先读取SESSION,然后再调取接口,SESSION值为SESSION=MjcyN2RlMDQtNjc2NS00ZTc0LWFkOGMtYmE5MjAwN2Q5ZDdk;Path=/;Domain=api.baidu.com;Expires=2025-04-27T01:42:26.934Z

5:成功调取后,校验接口返回值,正确的返回值应如下,若返回值错误则该条测试用例失败

{
    "errno": 0,
    "errmsg": "ok",
    "data": {
        "log_id": "24020223",
        "action_rule": {
            "pos_1": [],
            "pos_2": [],
            "pos_3": []
        }
    }
}

6:请根据上述需求以及详细过程描述,使用python+selenium生成一个自动化测试程序

  1. 实际AI生成结果
    import unittest
    import requests
    import jsonclass CollectListTest(unittest.TestCase):def setUp(self) -> None:# 设置基本信息self.session_cookie = "SESSION=MjcyN2RlMDQtNjc2NS00ZTc0LWFkOGMtYmE5MjAwN2Q5ZDdk;Path=/;Domain=api.baidu.com;Expires=2025-04-27T01:42:26.934Z"self.base_url = "https://ug.baidu.com/mcp/pc/pcsearch"self.headers = {"Content-Type": "application/json","Cookie": self.session_cookie}self.payload = {"invoke_info":{"pos_1":[{}],"pos_2":[{}],"pos_3":[{}]}}self.expected_response = {"error": {"errorCode": "0","errorMsg": "成功"},"data": {"list": [{"errno": 0,"errmsg": "ok","data": {"log_id": "24020223","action_rule": {"pos_1": [],"pos_2": [],"pos_3": []}}
    }],"pageNum": None,"pageSize": None,"total": "1"}}def test_collect_list_api(self):# 调用接口response = requests.post(self.base_url, headers=self.headers, data=json.dumps(self.payload))self.assertEqual(response.status_code, 200, "接口调用失败,状态码非200")# 校验返回值response_data = response.json()self.assertEqual(response_data["error"]["errorCode"], self.expected_response["error"]["errorCode"],f"错误码不匹配:{response_data['error']['errorCode']}")self.assertEqual(response_data["error"]["errorMsg"], self.expected_response["error"]["errorMsg"],f"错误信息不匹配:{response_data['error']['errorMsg']}")self.assertEqual(response_data["data"]["list"], self.expected_response["data"]["list"],f"返回数据列表不匹配:{response_data['data']['list']}")def tearDown(self) -> None:print("测试完成,清理环境")if __name__ == '__main__':unittest.main()

(1)AI输出程序结果

暂时无法在飞书文档外展示此内容

(2)本地运行结果

运行成功,接口正常返回

我们将预期返回值改成错误的,程序会报错,并且指出与预期不符合的地方

http://www.dtcms.com/wzjs/248996.html

相关文章:

  • ssc网站建设500个游戏推广群
  • pageadmin仿站教程淘宝关键词优化技巧教程
  • 网站建设官方网西安 做网站
  • 六安电商网站建设哪家好seo助手
  • 定制网站哪个好安徽网站开发哪家好
  • 全国人大官方网站社会建设委员会推广如何做网上引流
  • 生态农业网站模板百度竞价推广开户多少钱
  • 慈溪做网站什么价个人在线网站推广
  • 官网移动迷你世界郑州靠谱seo电话
  • 云建站管理区制作一个网站需要多少费用
  • 北滘网站建设如何推广网址链接
  • 连云港做电商网站的公司seo发贴软件
  • 汉沽网站建设360推广登录入口官网
  • 国家高新技术企业认定机构百度关键词优化推广
  • 许昌做网站团队百度ocpc怎么优化
  • 丽水做网站企业自媒体软文发布平台
  • 有孩子做的网站网络营销成功案例
  • 品牌网站建设 蝌4蚪小河南制作网站
  • 桥头东莞网站建设百度平台营销宝典
  • 网站设计与网页建设平台推广
  • 网站做管理后台需要知道什么广州关键词搜索排名
  • 如何做网站网页免费宁波seo外包平台
  • 东城东莞网站建设seo职业培训学校
  • 政府网站建设管理规范兔子bt搜索
  • 网站策划书市场分析网络推广外包费用
  • 岳阳市住房和城乡建设路网站正规网络教育培训机构
  • 什么是wordpress程序seo技术教学视频
  • 广州网站建设哪家强网络服务商在哪咨询
  • 佛山做网站建设在哪里可以发布自己的广告
  • 汕尾北京网站建设济南网站自然优化