如何在使用Robot Framework时从String中修剪或去除空格
如果我有一个字符串"Hello How are you"如何将其转换为"HelloHowareyou"(剥离所有空格)
我正在使用 Robot Framework 进行验收测试。
为了启动 django 服务器,我python manage.py runserver从 RobotFramework运行命令。之后,我打电话给python manage.py migrate。但是测试很慢,因为没有使用内存数据库。
我尝试创建一个名为 testing 的新设置文件,并使用以下配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:',
}
}
Run Code Online (Sandbox Code Playgroud)
并在运行时使用此配置设置环境变量 DJANGO_SETTINGS_MODULE。
我先运行迁移,然后运行运行服务器,但数据库不存在。我不明白为什么。如果我使用物理数据库,它可以工作。
我试图检查 Django TestCase 如何运行和创建数据库,但我找不到它。
我开始使用PyCharm与机器人框架,但我面临一个问题.我怎么能运行我的测试?我一直在我的测试文件夹上单击,我从控制台日志中收到一个空的测试套装消息.
是否有分离运行每个测试,如右键单击测试用例并击中测试运行器?
这是我的代码:
*** Settings ***
Library Selenium2Library
Resource /steps/keywords.txt
*** Variables ***
${URL} http://www.google.com
*** Keywords ***
Open browser with URL
[arguments] ${url}
Open Browser ${url} browser=gc
Set input on text box
[arguments] ${xpath} ${text}
Input text ${xpath} ${text}
Push button
[arguments] ${button}
Click Button ${button}
*** Test Cases ***
Google Access
Open browser with URL ${URL}
Set input on text box //*[@id="gbqfq"] Critical Software
Push button //*[@id="gbqfba"]
#Close Browser
Run Code Online (Sandbox Code Playgroud) 在Robot Framework用户指南中,有一节描述了如何传递变量文件以及一些可能的变量(如果需要).
例:
pybot --variablefile taking_arguments.py:arg1:arg2
我的问题是我之后可以在taking_arguments.py文件中使用这些可能的变量arg1和arg2,如果可以,那么如何?
现在我有这个:
pybot --variablefile taking_arguments.py:arg1:arg2
taking_arguments.py内容:
IP_PREFIX = arg1
但结果是
NameError: name 'arg1' is not defined
运行我的测试用例时,任何我的测试程序都尝试启动firefox,我得到了错误.我正在使用robotframework,Selenium2Library和python 2.7.
1Login [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: No browser is open
| FAIL |
WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Error: no display specified\n'
Run Code Online (Sandbox Code Playgroud)
我的CentOS服务器上有Xwindows.我用firefox安装了yum.我的firefox安装在firefox: /usr/bin/firefox /usr/lib64/firefox /usr/share/man/man1/firefox.1.gz
这有什么不对?有没有人有类似的经历?任何参考或建议?谢谢
编辑:
结果,我运行演示后.
==============================================================================
Login Tests
==============================================================================
Login Tests.Invalid Login :: A test suite containing tests related to inval...
==============================================================================
[ WARN ] Keyword 'Capture Page Screenshot' could not …Run Code Online (Sandbox Code Playgroud) 在机器人框架测试用例中,我设置了一个变量,然后进行了一个过程.
因为变量的设置不是一个非常有趣的信息,我不想在我的报告中包含它.
| Verifying STUFF |
| | ${endpoint}= | set variable | STUFF
| | Verify
Run Code Online (Sandbox Code Playgroud)
我的报告包含:
KEYWORD: ${endpoint} = BuiltIn.Set Variable STUFF
Run Code Online (Sandbox Code Playgroud)
但我宁愿不在那里.如何告诉Robot Framework不记录该行?
- - - 编辑 - - -
它看起来应该这样做:
pybot --removekeywords NAME:SetVariable testcase.txt
Run Code Online (Sandbox Code Playgroud)
但Set Variable关键字仍然存在.
(是的,我将我的机器人框架升级到2.8.3以利用此功能.)
我想在Robot Framework中运行测试.
我还想为机器人框架测试提供以下类型的目录结构:
或类似的规定.但是,我不知道如何编写我的测试,以便他们可以访问我的库和资源文件.例如,如何从Tests\test_1.txt导入Libraries\Library.py.
什么是最好的方法来解决这个问题?
是否存在父目录中访问文件的语法?
我应该在每个测试文件中导入资源和库文件,还是有办法只执行一次?
我只想减少最后一行中的变量N_groups.这是我的机器人文件:
Preconditions - Delete Groups But Not First
${N_groups} Setup Groups Count Groups
Log to console N_groups: ${N_groups}
: FOR ${INDEX} IN RANGE 1 20
\ Run Keyword If '${N_groups}' == '1' Exit For Loop
\ Setup Groups Delete Group ${group}
\ ${N_groups}= ${N_groups}-1
Run Code Online (Sandbox Code Playgroud)
我收到错误:
No keyword with name '${N_groups}-1' found.
我在这做错了什么?
使用Robot Framework,我正在尝试使用一个文件和三个包含文件的子目录来压缩目录.我正在使用ArchiveLibrary和关键字在目录中创建Zip From Files.结果是一个压缩目录,其中包含顶层目录中的一个文件和三个空子文件夹.
如何调整库以便包含子文件夹的内容?
这是关键字最初定义的方式:
def create_zip_from_files_in_directory(self, directory, filename):
''' Take all files in a directory and create a zip package from them
`directory` Path to the directory that holds our files
`filename` Path to our destination ZIP package.
'''
if not directory.endswith("/"):
directory = directory + "/"
zip = zipfile.ZipFile(filename, "w")
files = os.listdir(directory)
for name in files:
zip.write(directory + name, arcname=name)
zip.close()
Run Code Online (Sandbox Code Playgroud)
链接到完整的库.
我一直在尝试os.walk,没有成功.
如何在.robot文件中使用关键字:
Zip xml file
${zipfilename}= set variable komplett.zip
Create zip …Run Code Online (Sandbox Code Playgroud)