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

Appium+python自动化(二十六)- Toast提示(超详解)简介

开始今天的主题 - 获取toast提示
在日常使用App过程中,经常会看到App界面有一些弹窗提示(如下图所示)这些提示元素出现后等待3秒左右就会自动消失,这个和我日常生活中看到的烟花和昙花是多么的相似,那么我们该如何获取这些元素文字内容呢?

Toast简介

Android中的Toast是一种简易的消息提示框。 当视图显示给用户,在应用程序中显示为浮动。和Dialog不一样的是,它永远不会获得焦点,无法被点击。
Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到。而且Toast显示的时间有限,一般3秒左右就消失了。因此使用传统的元素定位工具,我们是无法定位到Toast元素的(传说中低调奢华有内涵)。

Appium Toast内容获取

Add ability to verify TOAST messages (these can't be interacted with, only text retrieval allowed)
1.Appium 1.6.3开始支持识别Toast内容,主要是基于UiAutomator2,因此需要在Capablity配置如下参数:

'automationName':'uiautomator2'
或者:
desired_caps['automationName']='uiautomator2'

2.安装appium-uiautomator2-driver: 安装命令如下:

cnpm install appium-uiautomator2-driver

安装成功后可以在 C:\Users\Administrator\node_modules看到对应的文件:

_appium-uiautomator2-driver@1.12.0@appium-uiautomator2-driver
_appium-uiautomator2-server@1.10.0@appium-uiautomator2-server

测试环境

1.我的系统环境是Windows 10版本 64位系统

2.jdk版本:"1.8.0_181"

3.appium版本:1.4.16

经查询appium1.6.3以上才能识别toast,之前安装appium版本是1.4.X,于是重整了测试环境

官方文档是这么说的

Firstly you should install appium server. Appium getting started. The version 1.6.3 or greater is recommended.

Since version 5.x there many features based on Java 8. So we recommend to install JDK SE 8 and provide that source compatibility.

也就是更新appium 到1.6.3以上,java-client版本最好是5.x,jdk要用1.8、selenium要用3.x,其他版本不一定兼容,要自己亲测是否可用

想识别toast,官网是这么说,因此为了不必要的麻烦折腾环境最好还是卸载低版本的appium,然后安装版本高于1.6.3的appium。

appium有两种安装方式,看你的需要选择方法一或方法二

        方法一:

      使用下载地址:https://bitbucket.org/appium/appium.app/downloads/,可以下载exe应用,桌面程序,更适合新手,界面设置,更容易上手,但是目前appium已经更新1.6.3+,以上下载地址还没更新最新的上去。如果不使用UIAUTOMATOR2等appium提供的新功能,不需要下载比较新的ppium,

        方法二:

      已安装了node.js,可以使用npm命令安装appium,打开cmd,输入npm install -g appium,回车,即可开始安装目前最新的版本,速度会比较慢,毕竟是国外的,如果不安装最新的使用命令:npm install -g appium@xxx,xxx是版本号,如下载appium1.6.3,命令为npm install -g appium@1.7.0,我是一开始使用方法一,之后发现几个功能appium要更新到1.6.3以上才支持,所以我目前版本更新到了1.6.3+以上。
 

4.selenium:3.141.0

安装selenium:

输入指令pip install selenium

验证安装成功:pip show selenium

5.测试设备:Android 5.1.1 (不能低于5.0版本)

6.Python:3.7.2

命令:python -V  ,回车即可。

7.测试App:考研帮Android app V3.1.0
8.测试场景
进入登录界面输入错误的用户名或者密码,获取Toast内容:

“用户名或密码错误,你还可以尝试4次”
“验证失败次数过多,请15分钟后再试”

代码实现

步骤一:初始化

在capability配置内部增加:desired_caps[‘uiautomationName’]=’ uiautomator2’

步骤二:定位toast元素

(1)定义toast文本内容

(2)定义路径

(3)组合文本内容和路径进行定位:用format()连接路径和文本内容

参考代码

 1 # coding=utf-82 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行3 4 # 2.注释:包括记录创建时间,创建人,项目名称。5 '''6 Created on 2019-7-317 @author:潇潇说测试8 Project:学习和使用appium自动化测试-toast提示9 '''
10 # 3.导入模块
11 from appium import webdriver
12 from selenium.common.exceptions import NoSuchElementException
13 from selenium.webdriver.support.ui import WebDriverWait
14 from selenium.webdriver.support import expected_conditions as EC
15 
16 desired_caps = {'platformName': 'Android',
17                 'platforVersion': '5.1.1',
18                 'automationName': 'Uiautomator2',
19                 'deviceName': '127.0.0.1:62001',
20                 'app': r'C:\Users\DELL\Downloads\kaoyanbang.apk',
21                 'appPackage': 'com.tal.kaoyan',
22                 'appActivity': 'com.tal.kaoyan.ui.activity.SplashActivity',
23                 'noReset': 'True'}
24 
25 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
26 driver.implicitly_wait(9)
27 try:
28     driver.find_element_by_id("android:id/button2").click()
29 except NoSuchElementException:
30     print(1)
31 try:
32     driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()
33 except NoSuchElementException:
34     print(2)
35 driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').clear()
36 driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').send_keys('bjhongge')
37 
38 driver.find_element_by_id('com.tal.kaoyan:id/login_password_edittext').send_keys('1213213')
39 driver.find_element_by_id('com.tal.kaoyan:id/login_login_btn').click()
40 
41 error_message = "用户名或密码错误,你还可以尝试3次"
42 limit_message = "验证失败次数过多,请15分钟后再试"
43 
44 message = '//*[@text=\'{}\']'.format(error_message)
45 #message='//*[@text=\'{}\']'.format(limit_message)
46 
47 toast_element = WebDriverWait(driver, 15).until(lambda x:x.find_element_by_xpath(message))
48 print(toast_element.text)

说明:

连接不同的类型的变量或内容format()

显示等待:webdriver(driver,5)

driver是webdriver的驱动程序,5是超时时间,以秒为单位

WebDriverWait()一般由 until()或 until_not()方法配合使用,下面是 until()和 until_not()方法的说明。

until(method, message=’’)

调用该方法提供的驱动程序作为一个参数,直到返回值不为 False。

until_not(method, message=’’)

调用该方法提供的驱动程序作为一个参数,直到返回值为 False。
 

动态函数:lambda x:x+5  

       X是函数的参数,冒号后面是函数的返回值

封装toast判断

1.单独写一个函数来封装判断是否存在toast消息,存在返回True,不存在返回False

 1 def is_toast_exist(driver,text,timeout=30,poll_frequency=0.5):2 3    '''is toast exist, return True or False4 5    :Agrs:6 7     - driver - 传driver8 9     - text   - 页面上看到的文本内容
10 
11     - timeout - 最大超时时间,默认30s
12 
13     - poll_frequency  - 间隔查询时间,默认0.5s查询一次
14 
15    :Usage:
16 
17     is_toast_exist(driver, "看到的内容")
18 
19    '''
20 
21    try:
22 
23        toast_loc = ("xpath", ".//*[contains(@text,'%s')]"%text)
24 
25        WebDriverWait(driver, timeout, poll_frequency).until(EC.presence_of_element_located(toast_loc))
26 
27        return True
28 
29    except:
30 
31        return False

封装后参考代码

 1 # coding=utf-82 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行3 4 # 2.注释:包括记录创建时间,创建人,项目名称。5 '''6 Created on 2019-7-317 @author: 潇潇说测试8 Project:学习和使用appium自动化测试-toast提示9 '''
10 # 3.导入模块
11 from appium import webdriver
12 from selenium.common.exceptions import NoSuchElementException
13 from selenium.webdriver.support.ui import WebDriverWait
14 from selenium.webdriver.support import expected_conditions as EC
15 
16 desired_caps = {'platformName': 'Android',
17                 'platforVersion': '5.1.1',
18                 'automationName': 'Uiautomator2',
19                 'deviceName': '127.0.0.1:62001',
20                 'app': r'C:\Users\DELL\Downloads\kaoyanbang.apk',
21                 'appPackage': 'com.tal.kaoyan',
22                 'appActivity': 'com.tal.kaoyan.ui.activity.SplashActivity',
23                 'noReset': 'True'}
24 
25 def is_toast_exist(driver,text,timeout=30,poll_frequency=0.5):
26 
27    '''is toast exist, return True or False
28 
29    :Agrs:
30 
31     - driver - 传driver
32 
33     - text   - 页面上看到的文本内容
34 
35     - timeout - 最大超时时间,默认30s
36 
37     - poll_frequency  - 间隔查询时间,默认0.5s查询一次
38 
39    :Usage:
40 
41     is_toast_exist(driver, "看到的内容")
42 
43    '''
44 
45    try:
46 
47        toast_loc = ("xpath", ".//*[contains(@text,'%s')]"%text)
48 
49        WebDriverWait(driver, timeout, poll_frequency).until(EC.presence_of_element_located(toast_loc))
50 
51        return True
52 
53    except:
54 
55        return False
56 if __name__ == "__main__":
57        
58     driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
59     driver.implicitly_wait(9)
60     try:
61         driver.find_element_by_id("android:id/button2").click()
62     except NoSuchElementException:
63         print(1)
64     try:
65         driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()
66     except NoSuchElementException:
67         print(2)
68     driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').clear()
69     driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').send_keys('bjhongge')
70 
71     driver.find_element_by_id('com.tal.kaoyan:id/login_password_edittext').send_keys('1213213')
72     driver.find_element_by_id('com.tal.kaoyan:id/login_login_btn').click()
73 
74     error_message = "用户名或密码错误,你还可以尝试3次"
75     limit_message = "验证失败次数过多,请15分钟后再试"
76 
77     print is_toast_exist(driver, error_message)

 小结

1.注意:Toast内容为中文时,顶部必须注释# coding=utf-8 否则会因为编解码导致文字识别失败。

2. 用npm安装appium-uiautomator2-driver ,会出现错误,卡顿之后安装不成功。

解决办法

(1)首先执行这个命令:npm install -g cnpm --registry=https://registry.npm.taobao.org       安装cnpm(完成后如下图)

 (2)然后通过这个命令: cnpm install appium-uiautomator2-driver   安装uiautomator2的配置文件,如图

3.cnpm与npm的区别:

(1)npm介绍

说明:npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等) 
(2)使用npm安装插件:命令提示符执行npm install [-g] [–save-dev] 
:node插件名称。 
例:npm install gulp-less –save-dev 
-g:全局安装。 
将会安装在C:\Users\Administrator\AppData\Roaming\npm,并且写入系统环境变量; 非全局安装:将会安装在当前定位目录; 全局安装可以通过命令行在任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过require()调用;

–save:将保存配置信息至package.json(package.json是nodejs项目配置文件);

-dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点;

为什么要保存至package.json?因为node插件包相对来说非常庞大,所以不加入版本管理,将配置信息写入package.json并将其加入版本管理,其他开发者对应下载即可(命令提示符执行npm install,则会根据package.json下载所有需要的包)。 
(3)使用npm卸载插件:npm uninstall [-g] [–save-dev] 
PS:不要直接删除本地插件包 
(4)使用npm更新插件:npm update [-g] [–save-dev] 
(5)更新全部插件:npm update [–save-dev] 
(6)查看npm帮助:npm help 
(7)查看当前目录已安装插件:npm list

PS:npm安装插件过程:从http://registry.npmjs.org下载对应的插件包(该网站服务器位于国外,所以经常下载缓慢或出现异常),

解决办法:

选装cnpm

说明:因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。” 
官方网址:http://npm.taobao.org 
安装:命令提示符执行npm install cnpm -g –registry=https://registry.npm.taobao.org 
注意:安装完后最好查看其版本号cnpm -v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误 
注:cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm。

4.好了,至此,有关toast的提示,就给小伙伴们和童鞋们方向到这里,谢谢你耐心的阅读!


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

相关文章:

Appium+python自动化(二十六)- Toast提示(超详解)简介

开始今天的主题 - 获取toast提示 在日常使用App过程中,经常会看到App界面有一些弹窗提示(如下图所示)这些提示元素出现后等待3秒左右就会自动消失,这个和我日常生活中看到的烟花和昙花是多么的相似,那么我们该如何获取…...

SpringBoot自动装配介绍

SpringBoot是对Spring的一种扩展,其中比较重要的扩展功能就是自动装配:通过注解对常用的配置做默认配置,简化xml配置内容。本文会对Spring的自动配置的原理和部分源码进行解析,本文主要参考了Spring的官方文档。 自动装配的组件 …...

1400*D. Candy Box (easy version)(贪心)

3 10 9 Example input 3 8 1 4 8 4 5 6 3 8 16 2 1 3 3 4 3 4 4 1 3 2 2 2 4 1 1 9 2 2 4 4 4 7 7 7 7 output 题意: n个糖果,分为多个种类,要求尽可能的多选,并且使得不同种类的数量不能相同。 解析: 记录每种糖…...

设计模式-备忘录模式在Java中使用示例-象棋悔棋

场景 备忘录模式 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效 或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,当前很多软件都提供了撤销(Undo)操作&#xff0…...

用合成数据训练托盘检测模型【机器学习】

想象一下,你是一名机器人或机器学习 (ML) 工程师,负责开发一个模型来检测托盘,以便叉车可以操纵它们。 ‌你熟悉传统的深度学习流程,已经整理了手动标注的数据集,并且已经训练了成功的模型。 推荐:用 NSDT设…...

人性-基本归因错误

定义 基本归因谬误指出,你评价别人的一个行为时,你会高估他的内部因素——比如性格的影响,低估外在的情景之类各种复杂因素的影响。 具体表现是对自己,我们很愿意分析复杂的原因;对别人,如果他一句话说的…...

游戏引擎:打造梦幻游戏世界的秘密武器

介绍 游戏引擎是游戏开发中不可或缺的工具,它为开发者提供了构建游戏世界所需的各种功能和工具。本文将介绍游戏引擎的概念、使用方法以及一个完整的游戏项目示例。 游戏引擎的概念 游戏引擎是一种软件框架,它提供了游戏开发所需的各种功能和工具&…...

ClickHouse(六):Clickhouse数据类型-1

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,Kerberos安全认证,大数据OLAP体系技术栈-CSDN博客 &…...

【Linux】网络基础

🍎作者:阿润菜菜 📖专栏:Linux系统网络编程 文章目录 一、协议初识和网络协议分层(TCP/IP四层模型)认识协议TCP/IP五层(或四层)模型 二、认识MAC地址和IP地址认识MAC地址认识IP地址认…...

小程序-接口概率性接收不到参数

在小程序上调用一个接口,传入筛选条件,但返回结果却没有进行筛选,概率性出现这种情况,频率较低。 然后在postman调用该接口,调用很多很多次,发现也出现这种问题,看了代码,接口的传参…...

合作客户销售数据可视化分析

以一个案例进行实际分析: 数据来源:【地区数据分析】 以此数据来制作报表。 技巧一:词云图 以城市名称来显示合同金额的分布,合同金额越大,则城市文字显示越大。 技巧二:饼图 下面制定一个,合…...

git仓库迁移场景

1.git仓库迁移 代码仓库从公网迁移内网,内外网网络不通,而且必须保证代码完整,包括分支以及提交记录。具体步骤如下 1.1 拉取所有分支镜像 1.2 现在本地电脑新建文件夹 mkdir newdir1.3 进入新建文件 newdir 执行下面命令拉取所有镜像代码…...

【RabbitMQ】之持久化机制

目录 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述2、队列持久化3、消息持久化4、交换器持久化 二、RabbitMQ 知识扩展 1、内存告警与内存换页2、磁盘告警与配置3、数据写入磁盘时机4、磁盘消息格式5、磁盘文件删除机制 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述…...

【项目6 UI Demo】前端代码记录

前端代码记录 1.GridListItem中的布局 在这个Item中的布局采用的是VBox和HBox相结合的方式。相关的代码如下&#xff1a; <VBox class"sapUiTinyMargin"><HBox justifyContent"SpaceBetween"><Titletext"{ToolNumber}"wrapping…...

【计算机网络】应用层协议 -- HTTP协议

文章目录 1. 认识HTTP协议2. 认识URL3. HTTP协议格式3.1 HTTP请求协议格式3.2 HTTP响应协议格式 4. HTTP的方法5. HTTP的状态码6. HTTP的Header7. Cookie和Session 1. 认识HTTP协议 协议。网络协议的简称&#xff0c;网络协议是通信计算机双方必须共同遵守的一组约定&#xff0…...

了解Unity编辑器之组件篇Layout(八)

Layout&#xff1a;用于管理和控制UI元素的排列和自动调整一、Aspect Ratio Fitter&#xff1a;用于根据宽高比自动调整UI元素的大小 Aspect Mode&#xff1a;用于定义纵横比适配的行为方式。Aspect Mode属性有以下几种选项&#xff1a; &#xff08;1&#xff09;None&#xf…...

如何使用Flask-Mail来发送电子邮件

你知道如何使用Flask-Mail来发送电子邮件吗 Flask-Mail是一个用于Flask框架的扩展&#xff0c;它简化了在Flask应用程序中发送电子邮件的过程。通过使用Flask-Mail&#xff0c;你可以轻松地创建邮件消息对象&#xff0c;设置发件人、收件人、主题和正文&#xff0c;并使用SMTP服…...

【笔记】Java并发编程

为什么不建议使用Executors创建线程池分析 不建议使用Executors来创建线程池&#xff0c;主要是有两大原因第一个是问题回溯的问题&#xff0c;使用Executors都可以使用默认的情况&#xff0c;无法用户自定义线程名称不利于排查问题&#xff0c;第二个原因也是最主要原因就是线…...

Hive内部表和外部表

表类型详解 表分类 在Hive中,表类型主要分为两种 第一种&#xff1a;内部表 也叫管理表表目录会创建在集群上的{hive.metastore.warehouse.dir}下的相应的库对应的目录中。默认创建的表就是内部表 第二种&#xff1a;外部表 外部表需要使用关键字"external"&#xff…...

【面试题】与通义千问的芯片前端设计模拟面试归纳

这里是尼德兰的喵芯片设计相关文章,欢迎您的访问! 如果文章对您有所帮助,期待您的点赞收藏! 让我们一起为芯片前端全栈工程师而努力! 前言 两个小时,与chatGPT进行了一场数字IC前端设计岗的面试_尼德兰的喵的博客-CSDN博客 和GPT-3.5的回答可以对比品尝,味道更好。 模…...

无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。npm.ps1 cannot be loaded

目录 原因 解决方法 提示 查看当前的执行策略命令 改回默认值 "Restricted"命令 这个错误提示是因为您的系统禁止执行 PowerShell 脚本。 原因 现用执行策略是 Restricted&#xff08;默认设置&#xff09; 解决方法 以管理员身份运行 PowerShell&#xff1a;右键…...

Flowable-服务-Http任务

目录 定义图形标记XML内容界面操作 定义 Http 任务不是 BPMN 2.0 规范定义的官方任务&#xff0c;在 Flowable 中&#xff0c;Http 任务是作为一种特殊的服务 任务来实现的&#xff0c;主要调用Http服务使用。 图形标记 由于 Http 任务不是 BPMN 2.0 规范的“官方”任务&…...

Hexo+GithubPages免费搭建个人博客网站

HexoGithubPages免费搭建个人博客网站 目录 一、前言二、Github配置 新建同名仓库配置Pages 三、安装Hexo四、配置hexo-deployer-git五、访问六、发布文章七、安装主题 一、前言 我之前开了好几年的云服务器了&#xff0c;实际上使用场景并不是很多&#xff0c;感觉有点浪费…...

应用无线鼠标中的2.4GHz无线收发芯片

无线键盘和无线鼠标作为现代办公环境中常见的工具&#xff0c;为我们的工作带来了便利。无线键盘和无线鼠标的工作原理都是基于无线技术实现的&#xff0c;其中常见的是2.4GHz无线技术。让我们一起来详细了解一下它们的工作原理。 无线鼠标的原理非常简单,鼠标部分工作与传统鼠…...

Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前

Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前 一、概述 在项目开发中&#xff0c;遇到一个类似于 超时关闭的订单&#xff08;超过1分钟后关闭订单&#xff09; 的需求&#xff0c;在数据的时间写入时&#x…...

自动驾驶之轨迹规划8——Apollo参考线和轨迹

1. abstract 本文主要讲解routing和planning模块中的reference line&#xff0c;我之前一直搞不明白这个reference line是如何生成的&#xff0c;有什么作用&#xff0c;和routing以及planning的关系。现在有了一些心得打算梳理一下&#xff1a; 决策规划模块负责生成车辆的行…...

ES6 - promise.all和race方法的用法详解

文章目录 一、前言二、Promise.all()1&#xff0c;第一句&#xff1a;Promise.all()方法接受一个数组作为参数&#xff0c;且每一个都是 Promise 实例2&#xff0c;第二句&#xff1a;如果不是&#xff0c;就会先调Promise.resolve方法&#xff0c;将参数转为 Promise 实例再进…...

CAD .NET 15.0 企业版 Crack

CAD .NET 15.0 企业版 企业版 企业版 企业版 企业版 Updated: June 14, 2023 | Version 15.0 NEW CAD .NET is a library for developing solutions in .NET environment. It supports AutoCAD DWG/ DXF, PLT and other CAD formats. The library can be used in a wide rang…...

苍穹外卖day07——缓存菜品套餐+购物车功能实现

缓存菜品——需求设计与分析 问题说明 用户访问量过大带来的一个直接效果就是响应速度慢&#xff0c;使用体验下降。 实现思路 使用redis缓存菜品数据&#xff0c;减少数据库查询操作。 页面展示上基本就是同一个分类在同一页&#xff0c;所以key-value结构可以使用不同的分…...

学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序

文章目录 01软件开发产业趋势与技术革新软件开发产业趋势与技术革新技术性人才很受欢迎软件开发产业趋势与技术革新技术门槛越来越低 02 大模型驱动的软件开发需求分析prompt 产品设计开发和测试prompt输出回复promptpromptprompt回复 发布和部署promptprompt 维护和更新prompt…...