如何在 JMeter Mail reader 采样器中过滤收件箱?

How to filter the inbox in JMeter Mail reader sampler?

如何根据 gmail 中的主题过滤 JMeter Mail reader 采样器中的邮件? gmail 收件箱会有很多不同主题的邮件,我只想阅读特定主题的邮件。

除了创建子文件夹和应用规则,还有其他选择吗?

JMeter 5.4.3 this is not possible, you can try raising an enhancement request in JMeter Bugzilla 的当前版本开始,但是您至少需要等待下一个主要版本才能获得此功能。

作为解决方法,您可以切换到 JSR223 Sampler which allows executing arbitrary code so you will be able to use Folder.search() 函数并只读取主题中具有指定子字符串的邮件。

示例代码:

props.setProperty('mail.transport.protocol', 'imaps')
props.setProperty('mail.imap.host', 'imap.gmail.com')
props.setProperty('mail.imap.port', '995')
props.setProperty('mail.imap.ssl.enable', 'true');

def session = javax.mail.Session.getDefaultInstance(props, null)
store = session.getStore('imaps')
store.connect('imap.gmail.com', 'your-username@gmail.com', 'your-password')
inbox = store.getFolder('INBOX')
inbox.open(javax.mail.Folder.READ_ONLY)
def messages = inbox.search(new javax.mail.search.SubjectTerm('your-search-term'))

有关 JMeter 中 Groovy 脚本的更多信息:Apache Groovy - Why and How You Should Use It