当前位置: 首页 > 面试题库 >

Python Unittest:打开并等待,直到程序关闭

方权
2023-03-14
问题内容

当前,我尝试创建一个打开文件(带有相应应用程序)的单元测试,然后测试运行应等待程序关闭。

def test_HFG(self):
#....
print "please edit this file"
os.chdir(r'C:\test\a')
os.startfile("myfile.vdx")
# here I need a "stop until the program is closed"-function
#....

有谁知道如何实现(尽可能简单)我的计划?


问题答案:

从文档:

一旦关联的应用程序启动,startfile()就会返回。没有选择等待应用程序关闭的选项,也没有办法检索应用程序的退出状态。

如果您知道用于打开文件的应用程序的路径,则可以使用subprocess.Popen()来等待。

请参阅:http :
//docs.python.org/library/os.html#os.startfile

http://docs.python.org/library/subprocess.html#subprocess.Popen



 类似资料:
  • 我在eclipse中使用SeleniumWebDriver和TestNG。问题是页面在某些数据的中途重新登录,并且重新加载的时间是灵活的,这就是为什么我不能应用显式等待时间。我想让webdriver等待,直到重新加载完成。 我正在尝试通过此代码执行此操作……但它不起作用。

  • 问题内容: 如何让我的代码等待,直到DispatchQueue中的任务完成?是否需要任何CompletionHandler或其他东西? 我正在使用Xcode 8.2并在Swift 3中编写。 问题答案: 使用s可以实现这一点。您可以在群组和通话达到平衡时得到通知: 或者您可以等待: 注意 :阻止当前队列(在您的情况下可能是主队列),因此您必须在另一个队列上(如上面的示例代码中)以避免 死锁 。

  • 问题内容: 我有一个创建两个或多个子流程的主流程,我想让主流程等到所有子流程完成操作并退出吗? 问题答案: 一个对象有这个确切定义的方法:等待一个给定的子进程的完成(和,此外,对于重新调整它的退出状态)。 如果使用此方法,则可以防止进程僵尸闲逛太久。 (或者,您可以使用或来进行调用和等待。如果您不需要该进程的IO,那可能就足够了。但这可能不是一个选择,因为您的两个子进程似乎应该并行运行,而他们不会

  • 问题内容: 题 我想启动Firefox Web浏览器作为访问特定网站的过程,然后等待它关闭。 一种特殊情况是浏览器可能已经打开并正在运行,因为用户可能已经访问过某些网站。 在这种情况下,浏览器可能会在现有窗口中打开一个新选项卡,并且新启动的过程将立即终止。这不会使我的等待过程感到困惑:要么,我想要一个新的浏览器窗口(如果可以通过命令行参数强制执行该操作),然后等待直到将其关闭,或者保留现有的浏览器

  • 问题内容: 题 我想启动Firefox Web浏览器作为访问特定网站的过程,然后等待它关闭。 一种特殊情况是浏览器可能已经打开并正在运行,因为用户可能已经访问过某些网站。 在这种情况下,浏览器可能会在现有窗口中打开一个新选项卡,并且新启动的过程将立即终止。这不会使我的等待过程感到困惑:要么,我想要一个新的浏览器窗口(如果可以通过命令行参数强制执行该操作),然后等待直到将其关闭,或者保留现有的浏览器

  • 问题内容: 我需要等待,直到创建了一个文件,然后将其读入。我有以下代码,但请确保它不起作用: 有什么想法吗? 问题答案: 一个简单的实现可以是: 每次检查后,您都需要等待一段时间,然后在路径存在时读取文件。如果从未创建该文件,则可以停止该脚本,但有例外。您还应该检查该路径是否位于该文件之后,以避免某些不必要的异常。