QTP-关于action之间变量传递问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QTP-关于action之间变量传递问题相关的知识,希望对你有一定的参考价值。

脚本是这样的:
action1:点击“业务A” 点击“业务B”(这两条语句对象都是link);
action2:设定业务X的各项属性值.参数表里有三行数据a,b,c

我想实现:
action1(点击业务A)→action2(执行a)→action1(点击业务A)→action2(执行b)→action1(点击业务B)→action2(执行c)→结束。

请问能否实现"action2里的循环语句中i=3时,runaction "action1"后,这个i值能传递到action1里进行判断,判断当i=3的时候,点击业务B?要怎么写呢?

------
以下是我的脚本具体内容:
Action1:
if i<3 then
Browser("x").Page("模板类型").Frame("BIframe").Link("业务A").Click
else
Browser("x").Page("模板类型").Frame("BIframe").Link("业务B").Click
End if

Action2:
Dim all,i'定义参数
all=DataTable.GetSheet("temp").GetRowCount'参数表总行
For i =1 to all '循环参数表所有行
DataTable.GetSheet("temp")'返回运行某参数表
DataTable.SetCurrentRow(i)'指定当前运行的参数表中第i行为激活行.
If i<3 Then '如果循环到1~2行,执行以下参数设置
Browser("x").Page("业务").Frame("mainFrame").WebEdit("itemnamecn").Set DataTable("tempname", dtLocalSheet)'设置模板名称
Browser("x").Page("业务").Frame("业务").Link("保存业务").Click
RunAction "action1", oneIteration
else '如果循环到3行,执行以下参数设置
Browser("x").Page("业务").Frame("mainFrame").WebEdit("itemnamecn").Set DataTable("username", dtLocalSheet)'设定用户名
Browser("x").Page("业务").Frame("业务").Link("保存业务").Click
RunAction "action1", oneIteration
(由于传递不过去,在action1里的i值始终是空的,如果单设一个循环,大概就没法和action2 关联上了吧...请教各位老师,谢谢:)

首先在KeyWord View,右击action1,Action Properties,在弹出的窗口中选择Parameters菜单项,在Input parameters添加变量(变量名为i)。
然后在action1的脚本中添加
dim i
i=parameter("i") '设置好了的i变量
这时候对i 进行判断
在action2中RunAction "action1", oneIteration,i
参考技术A 设置系统变量传递参数。

如何将秘密作为环境变量传递给 Docker Github Action?

【中文标题】如何将秘密作为环境变量传递给 Docker Github Action?【英文标题】:How to pass secrets as environment variables into a Docker Github Action? 【发布时间】:2021-12-06 02:25:38 【问题描述】:

在我的工作流程中,我正在使用以下步骤运行自定义操作:

- name: Run action
  uses: ./backend
  env:
    MY_SECRET: $ secrets.MY_SECRET 

这里是action.yml

name: "Backend"
on: [pull_request]
runs:
  using: 'docker'
  image: "Dockerfile"

由于某种原因,MY_SECRET 在我的Dockerfile 中为空。我尝试在 shell 脚本文件和 RUN 命令中访问它:

RUN echo "MY_SECRET: $MY_SECRET"

但它总是空的。

我尝试了存储库级别和组织级别的机密,但环境变量始终为空。

知道为什么吗?

【问题讨论】:

【参考方案1】:

您不能在容器内使用$MY_SECRET。相反,您应该通过 --build-arg 标志传递参数。

我认为你应该这样做:

steps:
  - run: docker build --build-arg MY_SECRET=$MY_SECRET .

然后您就可以在构建阶段访问MY_SECRET

如果您使用操作而不是手动构建,您应该了解如何传递构建参数。

【讨论】:

谢谢!在文档中找到以下内容:To access the environment variable in a Docker container action, you must pass the input using the args keyword in the action metadata file. For more information about the action metadata file for Docker container actions, see "Creating a Docker container action." @Tzach 太好了。所以我相信它会做到的。

以上是关于QTP-关于action之间变量传递问题的主要内容,如果未能解决你的问题,请参考以下文章

action的东西怎么打开

在 Service 和 Activity 之间传递 Action 时,Action 定义的问题重名

jsp页面像action中传值问题,需要传递一个map

qtp11中RunAction函数为啥不能够使用啊,我使用的是description描述性编程编写的脚本,我想调用Action2

struts2 中如何在action之间传递对象。。

在C ++中的类内的变量之间传递数据[关闭]