安排测试以验证已部署的流光应用程序是不是正常工作
Posted
技术标签:
【中文标题】安排测试以验证已部署的流光应用程序是不是正常工作【英文标题】:Schedule tests to verify if a deployed streamlit app is working or not安排测试以验证已部署的流光应用程序是否正常工作 【发布时间】:2022-01-08 18:35:51 【问题描述】:我创建了一个流线型应用程序,将其部署并与其他少数人共享。为了确保应用程序运行顺畅,我每 4 小时手动登录一次应用程序,输入少量输入值并检查应用程序中的所有选项卡是否都已填充?有没有办法让我有一种机制,可以通过输入输入值并以自动方式验证我的应用程序具有的所有选项卡来检查应用程序是否工作正常。
【问题讨论】:
您可能可以使用诸如selenium 之类的刮刀来实现此目的。 【参考方案1】:我在automated testing of streamlit apps using seleniumbase 上写了一篇博文。我的帖子(代码复制如下)侧重于代码运行之间的像素完美显示,但它可以很容易地扩展到使用seleniumbase 的其他功能测试输入:
from seleniumbase import BaseCase
import cv2
import time
class ComponentsTest(BaseCase):
def test_basic(self):
# open the app and take a screenshot
self.open("http://localhost:8501")
time.sleep(10) # give leaflet time to load from web
self.save_screenshot("current-screenshot.png")
# test screenshots look exactly the same
original = cv2.imread(
"visual_baseline/test_package.test_basic/first_test/screenshot.png"
)
duplicate = cv2.imread("current-screenshot.png")
assert original.shape == duplicate.shape
difference = cv2.subtract(original, duplicate)
b, g, r = cv2.split(difference)
assert cv2.countNonZero(b) == cv2.countNonZero(g) == cv2.countNonZero(r) == 0
【讨论】:
以上是关于安排测试以验证已部署的流光应用程序是不是正常工作的主要内容,如果未能解决你的问题,请参考以下文章
如何使用remix验证已部署的合约(以Goerli测试网为例)
IIS 部署在 cassini 中正常工作后,PrincipalContext.ValidateCredentials 停止验证