草庐IT

昨天面了个哥们,也就问了4个问题,但好像他被我虐了···

公司最近在招自动化测试岗,居然一天内就收了几百份简历!想不到吧?!都快面吐了,想招一个合适的技术同学太不容易了,需要去挖的细节太多了。一般来说,很多人都会被问接口工具、aap自动化、测试框架、测试平台等内容,这是在评估普通面试者的知识结构。但!今天我是面试面试官,那就不是这样去聊的了,比如我会问这些:在自动化测试中,你是如何选择和设计测试用例的?你使用过哪些自动化测试工具,如何选择自动化测试工具?你熟悉哪些自动化测试工具和框架?你使用过哪些编程语言用于测试开发?如何区分黑盒测试、白盒测试和灰盒测试,并举例说明?如何设计并实现一个自动化测试框架?请列举几个关键步骤。你如何处理性能测试方面的问题?

c++ - 使用 pimpl 习惯用法时如何创建私有(private)静态常量字符串

背景我一直在学习如何使用HerbSutter在本页描述的更新的c++11方法来实现pimpl习语:https://herbsutter.com/gotw/_100/我试图通过向私有(private)实现添加成员变量来修改此示例,特别是std::string(尽管char*具有相同的问题)。问题由于使用了staticconst非整数类型,这似乎是不可能的。只能对整数类型进行类内初始化,但由于它是静态的,因此也不能在构造函数中进行初始化。解决这个问题的方法是在头文件中声明私有(private)变量,并在实现中对其进行初始化,如下所示:C++staticconstantstring(clas

c++ - 从成员函数指针获取方法的返回类型

我试图声明一个变量,使其类型与我有一个成员函数指针的成员函数的返回类型相同。classWidget{public:std::chrono::millisecondsFoo();};例如,给定一个成员函数指针fn指向Widget::Foo,我将如何声明一个变量blah这样它就得到了Widget::Foo的返回类型(std::chrono::milliseconds)?我从一篇使用result_of的博客文章中找到了一些有希望的指导。来自连同decltype,但我似乎无法让它工作。autofn=&Widget::Foo;Widgetw;std::result_of::typeblah;这种

c++ - Qt 去除边距

我目前正在使用QMainWindow小部件,我想删除内部小部件周围的边距。我成功地删除了窗口边框的边距,但没有删除窗口内的小部件的边距。这是我的代码,例如:this->mainWidget=newQWidget(this);this->mainLayout=newQHBoxLayout;QLabel*foo=newQLabel("foo",this);QLabel*bar=newQLabel("bar",this);mainLayout->setContentsMargins(0,0,0,0);//Removemarginsforwindowbordersthis->setWindow

c++ - 如何在 Qt Widget 中重新定义 Z-Order

我有两个Widget有单独的实现。他们是……MessageInboxUiComposeMessageUi两者都将全屏显示。在主窗口中,我按以下顺序添加了两个小部件ComposeMessageUi*ptrEditor=newComposeMessageUi(this);//theseareinsideMessageInboxUi*ptrInbox=newMessageInboxUi(this);//MainWindowConstructor所以当我在显示MessageInboxUi时调用ComposeMessageUi的show函数时,它不显示(因为它显示在MessageInboxUi后

c++ - QDockWidget 上的多个小部件

我正在制作一个小应用程序,用于使用Qt和C++对图像应用各种滤镜。我的问题是,是否可以在QDockWidget上添加多个widget?因为我想添加按钮以重新应用停靠栏上的最后5个过滤器。这是我想要实现的示例。 最佳答案 可以将多个QWidget添加到任何QWidget中。看起来你可能想做这样的事情:QDockWidgetdock(QLatin1String("Lastfilters"));QWidget*multiWidget=newQWidget();QVBoxLayout*layout=newQVBoxLayout();QPus

c++ - Qt:如何检测一个widget是否被选中?

我没有看到任何信号/槽/函数可以告诉我鼠标是否选择了一个小部件?有没有可能有这样一个函数告诉我当前QWidget是否被选中?我如何区分“选择了当前小部件”和“选择了它的一个子小部件?” 最佳答案 您可以使用hasFocus()函数检查小部件的焦点。focus属性保存小部件是否具有键盘输入焦点。您还可以使用QApplication::focusWidget()获取具有焦点的应用程序的当前小部件。您可以获得指向焦点小部件的指针,例如:QWidget*fw=qApp->focusWidget();当焦点小部件改变时QApplication

c++ - 在 Qt 中将多个小部件合并为一个

我在项目中重复使用一对QComboBox和QListWidget。它们的交互是高度耦合的——当在组合框中选择一个项目时,列表会以某种方式进行过滤。我正在跨多个对话框实现复制粘贴这两个小部件之间的所有信号和插槽连接,我认为这不是一个好主意。是否可以创建一个自定义小部件,它将容纳这两个小部件并将所有信号和插槽连接放在一个地方?如下所示:classCustomWidget{QComboBoxcombo;QListWidgetlist;...};我想将此小部件用作单个小部件。 最佳答案 通常的做法是子类QWidget(或QFrame)。cl

c++ - 如何对 std::shared_ptr<Widget> 对象的容器进行排序?

classWidget;std::vector>containerclassCriterium{public:booloperator()(constWidget&left,constWidget&right)const;};如何根据标准对容器进行排序,无需定义另一个标准,例如:classCriteriumForPointers{public:booloperator()(conststd::shared_ptr&left,conststd::shared_ptr&right)const;}; 最佳答案 您可以使用lambda作为适

c++ - 具有依赖类型的简单 CRTP 案例的编译错误

我正在尝试使用一种简单形式的CRTP(奇怪的重复模板模式),因为我有几个类,每个类都有几个相关的类,我想要一种将它们绑定(bind)在一起的方法(例如,我有类像Widget、Doobry和Whatsit,以及相关类WidgetHandle、DoobryHandle和WhatsitHandle)。我用来从Base继承的每个类都添加了一个value_typetypedef,这样基类就可以将它称为typenameTWrapper::value_type。structWidgetHandle{};templateclassBase{public:Base(typenameTWrapper::v