Charge up a cap to a known voltage. Then power this circuit from the cap for whatever time period. When done, measure the voltage left in the cap. Change the size of the cap to whatever is appropriate for the power draw and length of the test. Here's the formula:
\$Amps = Farads * \frac{(V_{start} - V_{End})}{Seconds} \$
The result, amps, will be the average amps for the duration of the test. Remember that the cap is measured in Farads, so don't use microfarads instead.
The cap voltage drop during the test should be fairly small, maybe 0.1 or 0.2 volts. Any larger and you get other weird effects influencing your measurements.
And another note: Most caps have terrible tolerances on their capacity. Calibrate first using a 1% or 0.1% resistor load instead of your micro-controller circuit. Try to have your V_Start and V_End approximately close to what you'd have for the real test to maximize accuracy. Oh, if you can avoid it, don't leave your multimeter attached for the duration of the test, only for measuring the start and end voltages.
That's the best thing I could think of for measuring very low power stuff over seconds or minutes. If properly calibrated it should also be quite accurate.
The advertisement packet your beacons send can contain custom data. However the space is very limited, around 31 bytes. About 16bytes of it goes to the 128bit "service UUID" of your beacon. The structure of the packet is defined by the bluetooth spec and it does have some overhead, so I'm not sure how much is actually available for the custom data.
The service UUID is an identifier which your iphone app will search for. The idea that each service has a unique identifier, so if an app wants to find heart rate monitors, it will scan for the heart rate monitor uuid. In iOS you can even do a wildcard scan, and it will return any ble advertisements it can find, regardless of the services it has. It is however recommended by Apple guidelines that you specify the service UUID.
There is no requirement for pairing in order to receive the advertisment packets from the beacon. There is also no theoretical limit that would prevent that the beacons couldn't be found, given an infinite amount of time.
I haven't heard anyone putting 500 advertising BLE beacons in the range of an iPhone to see how many it can detect. With 500 beacons advertising simultaneously there will be a lot of collisions between packets. This could theoretically be calculated with knowing the advertisement interval.
The iPhone scan window (how long the channels are actively listened to) and scan interval (how often the scanning window is entered) cannot be adjusted, isn't documented and cannot be relied to remain the same between versions. This means that there isn't a way to really calculate how the advertisements will be found.
There's some recommendations published by Apple about advertising: https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf
Oh, and by default iOS will filter the results so you get one notification per scan session, per beacon. You can set the "allow duplicates" option in the scan to get multiple notifications per scan session for each beacon if this is needed, but again, apple doesn't recommend it.
If you end up testing this with 500 beacons, or even > 10, I thin a lot of people would be interested in your results. I personally would also appreciate hearing about your experiences.
Best Answer
Instead of a capacitor, consider for instance using a Battery + Coulomb counter IC (or just any voltage regulator + Coulomb counter IC). Many battery monitors have a Coulomb counter.
The capacitor has the drawback that its voltage is not constant.